わかりましたので、必要なのはそれを作成AdminMiddleware
してルートに追加することです。
まず、User
モデルを開き、追加のメソッドを追加します。
public function isAdmin()
{
return $this->RoleID == 1;
}
コンソールで実行します。
php artisan make:middleware AdminMiddleware
メソッドを開き、次のようAdminMiddleware.php
に変更します。handle
if (!\Auth::user()->isAdmin()) {
if ($request->ajax()) {
return response('Admin account required.', 401);
} else {
return redirect('/'); // set here any url you need
}
}
return $next($request);
開いて、プロパティの新しいエントリapp/Http/Kernel.php
に追加します。$routeMiddleware
'isAdmin' => \App\Http\Middleware\AdminMiddleware::class,
最後にルートを変更します
'middleware' => 'auth',
の中へ
'middleware' => ['auth', 'isAdmin'],
ここでの順序は重要です。ここで順序を変更すると、ユーザーがログインしていない場合に予期しない例外が発生します。
必要に応じて、このルートでユーザーがログインしていない場合isAdmin
以外のリダイレクトを行いたい場合に備えて、ここでミドルウェアのみを使用することもできます。auth
この場合、 と のメソッドをマージしauth
てisAdmin
、ニーズに合わせる必要があります。