我正在使用Laravel框架进行我的项目。一切似乎都很完美。但是,在我的登录部分,我想做一些事情,比如当用户登录系统时,它会检查“is_admin”列。如果“is_admin”列等于1,它将直接进入管理页面。 我一直在网上看,但我找不到答案。我也使用过中间件,但它没有用。我不知道为什么。有人可以帮我这个。感谢
答案 0 :(得分:0)
Laravel 5.1允许授权,您可以在AuthServiceProvider
public function boot(GateContract $gate){
$gate->define('admin', function($user){
return $user->is_admin;
});
}
然后在控制器中使用Gate
外观,如
$user=Auth::user();
if(Gate::allows('admin', $user)){
//user is admin
}
看一下Laravel文档的这一部分 http://laravel.com/docs/5.1/authorization
答案 1 :(得分:0)
您可以在AuthController.php
if(Auth::user()->is_admin == 1){
protected $redirectTo = 'admin';
}else{
protected $redirectTo = 'member';
}
avobe代码仅用于重定向。您可以使用中间件来保护管理员面板免受成员的侵害。