2017-02-26 16 views
1

laravelの新機能で、laravelの制限メカニズムについてはわかりませんが、ミドルウェアについては読んでいますが、使用方法が混乱していて、だから、私はどのように私は制限の目的のためにそれを実装することができますガイド、私は、ユーザーのルートを認証します。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'); 
} 

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

あなたが

+0

ありがとう、@Adnan – Savvy

関連する問題