2014-10-11 60 views
0

我創建了一個用戶表,我添加了一個名爲role的字段,當我在過濾器中使用它時,這行代碼不起作用,問題出在Auth :: user() - >角色部分Laravel Auth field role not recognized

Route::filter('products.admin', function() 
{ 
    if (Auth::user()->role !== 'admin') 
     return Redirect::to('/'); 
}); 

是否有任何人知道如何讓角色字段被認定爲用戶

回答

1

如果你真的在你的表中的role場,你應該使用:

Route::filter('products.admin', function() 
{ 
    if (!Auth::check() || Auth::user()->role != 'admin') 
     return Redirect::to('/'); 
}); 
0

你需要在你的路線是這樣的:

Route::get('products', array('before' => 'auth|products.admin', 'uses' => '[email protected]')); 

這樣一來,您首先檢查用戶進行身份驗證,然後你檢查它是否具有正確的角色。

+0

他不需要*,但這是推薦的方法。 – Marwelln 2014-10-11 12:01:41

+0

這就是我使用「擁有」的意義。至少讓我們幫助一些有良好實踐建議的人吧? – cdarken 2014-10-11 13:13:30