我有2个不同的用户角色,管理员和客户。
如何创建过滤器,以便在用户登录时可以访问管理员角色 可以创建,更新,删除,读取的路由,而客户端角色只能访问 读路线?不使用模块。
答案 0 :(得分:2)
您可以使用route filters来实现此目的。
Route::filter('auth.isAdmin', function()
{
// Get authenticated user
$user = Auth::user()
if (!$user->isAdmin()) {
// Redirect user away, display an error message, log attempt, whatever...
}
});
在用户模型中创建isAdmin
方法:
public function isAdmin($permission)
{
// if user has admin role
// return true
// else
// return false
}
现在,您可以通过将过滤器附加到相关路线来保护您的页面。
Route::get('foo/bar', array(
'before' => 'auth.isAdmin'
));