Laravel Auth场角色未被认可

时间:2014-10-11 09:36:33

标签: php laravel laravel-4

我创建了一个用户表,我添加了一个名为role的字段,当我在过滤器中使用它时,这行代码将无效,问题出在Auth :: user() - >角色部分

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

是否有人知道如何让角色字段为用户识别

2 个答案:

答案 0 :(得分:1)

如果表中确实有role字段,则应该使用:

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

答案 1 :(得分:0)

你的路线需要这样的东西:

Route::get('products', array('before' => 'auth|products.admin', 'uses' => 'ProductsController@index'));

这样,您首先检查用户是否已通过身份验证,然后检查其是否具有正确的角色。