Laravel 5.1 中间件中重定向循环

laravel 5.1中我重写了自带的中间件Authenticate.php,我想实现的功能是在中间价Authenticate中检查用户是否登录过,如果已经登录过就接着往下走,如果没有登录过则跳转到登录界面login.php,跳转到login.php我用的是重定向方法`return redirect()->route('login');`,当重定向到login.php页面时又执行一次Authenticate中间件,判断没有登录过重定向到login.php,这样重定向循环就出来了。想请教下这个问题该怎么解决。

阅读 5k
1 个回答

在路由里就不能让它成为全局中间件,而是写一个需要检查用户登录的路由组,让需要检查是否登录的在路由组里,你的login.php不在上面,不加这个中间件,自然就不会再过一遍中间件了。

如果你觉得麻烦,那就在你的中间件里判断一下$request->path()是否等于login那边的路径吧,如果是login页面就继续next($request);

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题