Laravel 4 基于身份验证角色的页面访问


Laravel 4 auth role based page access

将页面访问权限限制为身份验证角色/许可的最佳方法是什么?我在考虑使用Auth::user()->role进行检测,这将放入每个路线部分。那么,在 Laravel 4 中是否有更好的方法或最佳实践来执行此操作?

谢谢。

你可以尝试这样的事情(使用过滤器进行角色检查)

Route::filter('role', function()
{
    return Auth::user()->role;
});

然后在您的路线中,您可以使用此(role)过滤器,例如

Route::get('protectedPage1', array('before'=>'role', function($role) {
    if($role != 'admin') {
        return Redirect::to('home');
    }
}));
Route::get('protectedPage2', array('before'=>'role', function($role) {
    if($role != 'admin') {
        return Redirect::to('home');
    }
}));

更新:

Route::filter('role', function()
{
    if(Auth::user()->role != 'admin') {
        return Redirect::to('home');
    }
});
Route::get('protectedPage1', array('before'=>'role', function() {
    // do your job
}));