Laravel 5.3依赖用户进行身份验证

时间:2017-02-24 15:31:11

标签: php laravel authentication laravel-5 laravel-5.3

我有一个表主机,并且当用户是admin(DB is_admin boolean)时想要重定向到另一个页面。 我使用以下身份验证方法:

public function handle($request, Closure $next, $guard = null)
{
    if (Auth::guard($guard)->check())
    {
        if(Auth::user()->isAdmin == 1) {
            return redirect('/home');
        }
        else
        {
            return redirect('/api');
        }
    }

    return $next($request);
}

我的主持人课程:

public function isAdmin()
{
    return $this->is_admin;
}

}

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

尝试这样做 -

中间件

if ( Auth::check() && Auth::user()->isAdmin() ) {
    return $next($request);
}

return redirect('/');

这是因为布尔返回1或0表示真或假。因此,== true

无需检查它是否属实

不要忘记在数据库中添加is_admin的列,因为您要告诉从数据库中获取is_admin

答案 1 :(得分:0)

更改

if(Auth::user()->isAdmin == 1) {

if(Auth::user()->isAdmin() == 1) {

您定义了一个函数,而不是一个属性