我有一个表主机,并且当用户是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;
}
}
任何人都可以帮助我吗?
答案 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) {
您定义了一个函数,而不是一个属性