これは、Middlewaresを使用してHTTP要求をフィルタする場合に適しています。
あなたはまた同じように、あなたのルートファイルで条件付きの何かができる:あなたのアプリケーションがどのように見えるかに応じて、
if (Auth::user()->isAdmin()){
Route::get('/', '[email protected]');
}
else {
Route::get('/', '[email protected]');
}
、あなたのUserモデルでisAdmin()を定義することができます。これは非常に単純な例で、role_idという列があり、id nr 1はadminです。認証されたユーザが管理者であれば、それはそうでない場合はfalse、真表示されます。
public function isAdmin()
{
return Auth::user()->role_id == 1;
}
よりダイナミックかつ先進的なアプローチは、ロールテーブルを作成し、ROLE_USERピボットテーブルを持つユーザーと役割を関連付けることであろう。
さらにステップを進めたい場合は、パーミッションテーブルを作成し、permission_roleピボットテーブルを使用してロールにパーミッションを関連付けることができます。次に、アプリケーションで、アクションを実行できるように権限が必要であることを定義し、特定のユーザー役割がそのピボット・テーブルに持つすべての権限を追加できます。次に、特定の役割を持つユーザーに特定の権限があるかどうかを確認します。
はい、可能です。ミドルウェアグループを作成できます。あなたはLaravelの認証を使用していますか? AdminMiddlewareのようなものを既に作成しましたか? –
@JanWillem私は、現在のユーザーが以下のように管理者か正会員であることを理解しています: '@if(Auth :: user() - > admin){//管理者} else {//正会員}' – stack