2014-10-11 91 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