我是laravel的初学者。
我正在尝试为包含“ADM”类型的用户创建一个部分,该类型在表用户中定义。
如果用户为“ADM”类型,则重定向到adm视图,否则重定向到其他位置。
我为此创建了一个中间件,完美无缺,除非我尝试使用User模型中的函数验证用户的类型。
当我去路由/浏览并调用中间件时。浏览器给我一个错误“ERR_TOO_MANY_REDIRECTS”
我的中间件中的代码:
public function handle($request, Closure $next) {
if(User::IsAdm()) {
return redirect('adm');
} else {
return redirect('404');
}
return $next($request);
}
我在用户模型上的功能:
public static function IsAdm() {
if (\Auth::check()) {
$loggedUser = \Auth::user();
if($loggedUser->type == 'ADM') {
return true;
}
}
return false;
}
如果有人能帮助我,我真的很感激。
谢谢你们:)
答案 0 :(得分:0)
我已经测试了您的代码,它对我来说运行正常。
尝试查看您是否正在加载正确的视图,或确保#hi
属性作为db存在用户表中的列。
答案 1 :(得分:0)
我将代码更改为此,现在它完美无缺。
感谢@jeemusu
public function handle($request, Closure $next) {
if(!User::IsAdm()) {
return redirect('404');
}
return $next($request);
}