2017-02-26 44 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