Laravel 5 中间件验证检查不工作
Laravel 5 middleware Auth check not working
如果用户未登录或没有 'Admin' 类型而尝试访问管理页面,我想显示 404 错误页面。如果用户已登录,则此工作正常,如果不是用户访问管理面板。如果我删除 if(Auth::check())
脚本会显示 Trying to get property of non-object
错误。
class AdminMiddleware {
public function handle($request, Closure $next)
{
if(Auth::check()){
if ($request->user()->type != 'Admin'){
return abort(404);
}
}
return $next($request);
}
}
试试这个
class AdminMiddleware {
public function handle($request, Closure $next)
{
if(Auth::check()){
if ($request->user()->type != 'Admin'){
return abort(404);
}
}else{
return abort(404);
}
return $next($request);
}
}
它应该检查用户是否已登录,如果是,请检查他和管理员是否登录,如果他未登录,则向他显示 404
或更短的版本
class AdminMiddleware {
public function handle($request, Closure $next)
{
if(Auth::check() && $request->user()->type == 'Admin'){
return $next($request);
}
return abort(404);
}
}
如果用户未登录或没有 'Admin' 类型而尝试访问管理页面,我想显示 404 错误页面。如果用户已登录,则此工作正常,如果不是用户访问管理面板。如果我删除 if(Auth::check())
脚本会显示 Trying to get property of non-object
错误。
class AdminMiddleware {
public function handle($request, Closure $next)
{
if(Auth::check()){
if ($request->user()->type != 'Admin'){
return abort(404);
}
}
return $next($request);
}
}
试试这个
class AdminMiddleware {
public function handle($request, Closure $next)
{
if(Auth::check()){
if ($request->user()->type != 'Admin'){
return abort(404);
}
}else{
return abort(404);
}
return $next($request);
}
}
它应该检查用户是否已登录,如果是,请检查他和管理员是否登录,如果他未登录,则向他显示 404
或更短的版本
class AdminMiddleware {
public function handle($request, Closure $next)
{
if(Auth::check() && $request->user()->type == 'Admin'){
return $next($request);
}
return abort(404);
}
}