在laravel 5.1

时间:2015-11-30 15:35:21

标签: php laravel laravel-middleware

我正在使用Laravel框架进行我的项目。一切似乎都很完美。但是,在我的登录部分,我想做一些事情,比如当用户登录系统时,它会检查“is_admin”列。如果“is_admin”列等于1,它将直接进入管理页面。 我一直在网上看,但我找不到答案。我也使用过中间件,但它没有用。我不知道为什么。有人可以帮我这个。感谢

2 个答案:

答案 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代码仅用于重定向。您可以使用中间件来保护管理员面板免受成员的侵害。