2016-12-09 3 views
1

は、私は、ユーザーが laravelの特定のユーザーにビューへのアクセス権を与える方法はありますか?

class CategoryController extends Controller 
{ 
    public function __construct() { 
     $this->middleware('auth'); 

    } 
    ... 

マイカテゴリールート

にログインしているかどうかを確認するカテゴリーのコントローラーを持っている:

//Category Controller 
Route::get('admin/category/{category}/edit', ['uses'=>'[email protected]','as'=>'admin.category.edit']); 
Route::put('admin/category/{category}', ['uses'=>'[email protected]','as'=>'admin.category.update']); 
Route::get('admin/category/{category}', ['uses'=>'[email protected]','as'=>'admin.category.show']); 
Route::delete('admin/category/{category}', ['uses'=>'[email protected]','as'=>'admin.category.destroy']); 
Route::get('admin/category/create', ['uses'=>'[email protected]','as'=>'admin.category.create']); 
Route::get('admin/category', ['uses'=>'[email protected]','as'=>'admin.category.index']); 
Route::post('admin/category', ['uses'=>'[email protected]','as'=>'admin.category.store']); 

は、特定のユーザーのみにこれらのビューへのアクセス権を与える方法はありますか?

たとえば、ユーザーのメールアドレスが[email protected]の場合、そのビューに移動できます。

私はこの

if(Auth::user()->email == '[email protected]') 
{ 
    dd('admin Logged in'); 
} 

のように確認することができます知っているが、私は、個々のビューに移動し、if文ですべての私のコンテンツを置けば、これは可能です。

コントローラでこれを処理する方法はありますか?

ありがとうございました。

+1

をご確認ください:) –

答えて

0

これらの作業にはmiddlewaresを使用できます。

ミドルウェア

ドキュメントからは、アプリケーションを入力HTTPリクエストをフィルタリングするための便利なメカニズムを提供します。たとえば、Laravelには、アプリケーションのユーザーが認証されていることを確認するミドルウェアが含まれています。ユーザーが認証されていない場合、ミドルウェアはユーザーをログイン画面にリダイレクトします。ただし、ユーザーが認証されている場合、ミドルウェアは要求をアプリケーションにさらに進めることができます。

0

ユーザーをルートグループで制限する必要があります。それにはmiddlewareを使用してください。

しかし、複雑なロジックがある場合は、コントローラ、モデル、およびその他のクラスでユーザーがadminかどうかを確認することができます。この場合、global helperisAdmin()を作成し、簡単なチェックに使用することができます。例:

if (isAdmin()) { 
    // Do something 
} 

{{ isAdmin() ? 'active' : '' }} 
0

良い方法はあなたが常にアクセスをチェックするためのミドルウェアを書くことができ員のためにadminの0、利用者のための1、2のようなユーザーの役割を定義し、ユーザの役割

if(Auth::check()) 
{ 
    if(Auth::User()->user_type == 0) 
    { 
    return view('admin_dashboard); 
    } 
    else if(Auth::User()->user_type == 1) 
    { 
    return view('user_dashboard); 
    } 
    else if(Auth::User()->user_type == 2) 
    { 
    return view('member_dashboard); 
    } 
} 
関連する問題