猿问

Laravel 5.1 中间件中重定向循环

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

SMILET
浏览 1114回答 1
1回答

噜噜哒

在路由里就不能让它成为全局中间件,而是写一个需要检查用户登录的路由组,让需要检查是否登录的在路由组里,你的login.php不在上面,不加这个中间件,自然就不会再过一遍中间件了。如果你觉得麻烦,那就在你的中间件里判断一下$request->path()是否等于login那边的路径吧,如果是login页面就继续next($request);
随时随地看视频慕课网APP
我要回答