私は管理者ログイン用のミドルウェアを持っていますが、私はユーザーが管理者であるかどうかを確認しています。しかし、今私は、管理者がページにアクセスする権限を持っているかどうかをチェックしたい。どうやってやるの?Laravel:各コントローラのアクセス許可を確認します。
私AdminMiddlewareは次のとおりです。
public function handle($request, Closure $next)
{
if(Auth::check())
{
$user = Auth::user();
if($user->user_type=='employee')
{
return $next($request);
}
else
{
return redirect('/');
}
}
else
{
return redirect('/');
}
}
一つの方法は、それぞれ、すべてのコントローラのすべての機能に次のコードを追加することです。
if(Auth::user()->permission=='manage_employee'){
//code here
}
else
{
//redirect to access denied page
}
しかし、これは正しい方法と時間がかかりません。パッケージを使用しないで他の方法がありますか?
ルートファイルで保護する必要があります.https://laravel.com/docs/5.4/authentication#protecting-routes – Daan
[Gates](https://laravel.com/docs/5.4/)をご覧ください。承認#書き込みゲート)。 – Jerodev
@ Daan私は既にAdmin Middlewareを使用しています。しかし、今私はそれらの管理者のアクセス許可を確認したい。 – mohit