Php Laravel 5.1身份验证-无法重定向到登录页面
正在尝试阻止来宾用户的路由。当有人点击Php Laravel 5.1身份验证-无法重定向到登录页面,php,laravel,authentication,laravel-5.1,Php,Laravel,Authentication,Laravel 5.1,正在尝试阻止来宾用户的路由。当有人点击localhost:8000/AdminPanel时,它将检查用户是否以管理员身份登录。如果是admin,那么它工作正常;如果是代理,那么它会重定向到登录页面;但是如果我作为来宾用户点击链接,它不会将我重定向到登录页面,而是显示一些错误: routes.php第53行中的ErrorException: 正在尝试获取非对象的属性 以下是我的routes.php文件: Route::get('/AdminPanel', function () { if
localhost:8000/AdminPanel
时,它将检查用户是否以管理员身份登录。如果是admin,那么它工作正常;如果是代理,那么它会重定向到登录页面;但是如果我作为来宾用户点击链接,它不会将我重定向到登录页面,而是显示一些错误:
routes.php第53行中的ErrorException:
正在尝试获取非对象的属性
以下是我的routes.php文件:
Route::get('/AdminPanel', function () {
if (Auth::user()->user_type_id == 1) { // line 53
return view('frontend.AdminPanel');
}
if (Auth::user()->user_type_id == 2) {
return view('auth/login');
}
if (Auth::guest()) {
return view('auth/login');
}
});
这是因为如果用户未登录,Auth::user()将为null。因此,它抛出一个错误,即它试图获取非对象的属性。您应该首先检查是否设置了Auth,如下所示:
if(Auth::check()){
if(Auth::user()->user_type_id==1){ //line 53
return view('frontend.AdminPanel');
}
else if(Auth::user()->user_type_id==2){
return view('auth/login');
}
}
else{
return view('auth/login');
}
为什么不试试这个?
路由::get('/AdminPanel',函数(){
所以用户类型ID2和来宾用户将重定向到登录页面
if(Auth::user()->user_type_id==1){ //line 53
return view('frontend.AdminPanel');
}
elseif(Auth::user()->user_type_id==2){
return view('auth/login');
}else{
return view('auth/login');
}
})