【问题标题】:Middleware route redirecting to homepage rather admin page中间件路由重定向到主页而不是管理页面
【发布时间】:2020-01-06 03:40:35
【问题描述】:

我的中间件应该将文本重定向给我,但它会将我带到主页。在没有中间件命令的情况下,/admin 路由运行良好。它确实通过了要求,如果我给出“欢迎”则在中间件中'home' 仍然会将我重定向到主页,不像不通过网关它会将我重定向到主页。

路线:

Route::get('/admin', function(){
    return 'you are a admin';
})->middleware(['auth','auth.admin']);

中间件:

if(Auth::user()->hasAnyRole('admin')){
         return $next($request);
}
return redirect('home');}

路线列表

【问题讨论】:

  • 登录后会出现这个问题吗?
  • 不是从一开始就重定向到主页。
  • 抱歉没收到你
  • 我的意思是是的。我没有先得到你的问题。非常抱歉。

标签: laravel laravel-middleware


【解决方案1】:

除了homelogin之外,您没有任何名为welcome 或其他名称的路由

创建一个视图并创建一个访问它的路由。然后在中间件方法中更新该路由。

if(Auth::user()->hasAnyRole('admin')){
   return $next($request);
 }
   return redirect('newroute');
}

这样就可以了

【讨论】:

  • Route::get('/admin', function(){ return '你是管理员'; })->middleware(['auth','auth.admin']);我以前做过这个。/admin rute 它应该命中,但它正在命中回家路线
猜你喜欢
  • 1970-01-01
  • 2017-07-23
  • 1970-01-01
  • 2020-06-15
  • 1970-01-01
  • 2010-12-06
  • 1970-01-01
  • 2021-01-01
  • 2018-07-18
相关资源
最近更新 更多