2017-02-26 38 views
1

我是新来laravel,不知道laravel限制机制,我已阅读有关中间件,但困惑如何使用它,为什么它被使用,以及这将如何工作,所以请指导我如何实现它限制的目的,即认证,SA用户路线。Laravel中间件的管理或认证laravel 5.4.6

回答

2

学习的最好方法是直接从Laravel文档:https://laravel.com/docs/5.4/middleware

,或者你可以只是看短视频Laracasts:https://laracasts.com/series/laravel-5-from-scratch/episodes/14

+0

你想告诉我,我们什么时候应该使用它,它有什么 – Savvy

+0

好处概括地说,中间件是用来请求击中了你的控制器之前执行任何操作,尤其是如果它的行为适用于多个控制器/路由(例如认证,CSRF令牌等)。浏览文档和视频。如果您还有其他问题,请随时发布。 – Paras

5

确保您在数据库用户表角色栏或属性。

STEP 1

创建Midlleware

php artisan make:middleware AnyNameYouWant 

它会创建一个很好的样板给你。

STEP 2

public function handle($request, Closure $next) 
{ 
    if (\Auth::user()->role == 'admin') { 
     return $next($request); 
    } 

     return redirect('home'); 
} 

步骤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'); 

你完成了

+0

非常感谢@Adnan – Savvy