我正在尝试使用Laravel 4管理用户角色,但我无法清楚地了解它是如何工作的,所以我需要一些解释。 这就是我想要做的事情:
如果用户是访客(未登录),请重定向到路由
/
如果记录的用户角色等于
student
,则重定向到student/books
如果记录的用户角色等于
admin
,请重新定位到admin/index
我想要的是用slug和用户角色进行过滤。 user
表包含以下列:
first_name | email | password |role
我怎么能这样做,顺便说一句。我是Laravel的新手,所以我需要更好的解释。
我假设我需要的步骤是:
filters.php
routes.php
答案 0 :(得分:1)
我假设您在会话Auth::user()->role
<强> filters.php 强>
Route::filter('isAdmin', function()
{
if (Auth::guest() || Auth::user()->role !== "admin")
{
return Redirect::to('/');
}
elseif(Auth::user()->role == "admin"){
}
});
Route::filter('isStudent', function()
{
if (Auth::guest() || Auth::user()->role !== "student")
{
return Redirect::route('adm_index');
} }
elseif(Auth::user()->role == "student"){
return Redirect::route('std_books');
}
});
<强> routes.php文件强>
Route::group(array('before' => 'isStudent'), function()
{
Route::get('student/books',array('as'=>'std_books','uses'=>'BookController@method_name'));
});
Route::group(array('before' => 'isAdmin'), function()
{
Route::get('admin/index',array('as'=>'adm_index','uses'=>'AdminController@method_name'));
});