【发布时间】:2013-11-07 16:05:07
【问题描述】:
将页面访问限制为身份验证角色/许可的最佳方法是什么?我正在考虑使用Auth::user()->role 进行检测,它将被放入每个路线部分。那么,在 Laravel 4 中有没有更好的方法或最佳实践呢?
谢谢。
【问题讨论】:
标签: php authentication laravel-4
将页面访问限制为身份验证角色/许可的最佳方法是什么?我正在考虑使用Auth::user()->role 进行检测,它将被放入每个路线部分。那么,在 Laravel 4 中有没有更好的方法或最佳实践呢?
谢谢。
【问题讨论】:
标签: php authentication 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
}));
【讨论】: