我是 Laravel 的新手,不了解 Laravel 限制机制,我读过有关中间件的内容,但很困惑如何使用它、为什么使用它以及它如何工作,所以请指导我如何实现它以达到限制目的,即对于 auth,sa 用户路由。
确保您在数据库用户表中有角色列或属性。
STEP 1
创建中间件
php artisan make:middleware AnyNameYouWant
它将为您创建一个漂亮的样板。
STEP 2
public function handle($request, Closure $next)
{
if (\Auth::user()->role == 'admin') {
return $next($request);
}
return redirect('home');
}
STEP 3
在内核中使用它
protected $routeMiddleware = [
'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'admin' => \App\Http\Middleware\YourMiddleware::class,
];
STEP 4
保护您的路线。
Route::get('admin/profile', function () {
//
})->middleware('admin');
你完成了
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)