Laravel - 发生了太多重定向

时间:2016-11-21 21:28:19

标签: laravel redirect

我已成功设置Laravel中间件以检查用户是否第一次登录(通过简单检查$user->last_logged_in_date field中的空值)。我想要的是将这些新用户重定向到/password/reset视图,以便他们可以填写他们的电子邮件地址并获取发送给他们的链接。

我收到了

的消息
  

尝试打开“localhost:8000”

时发生了太多重定向      

如果您打开重定向以打开另一个页面的页面,则可能会发生这种情况   页面然后被重定向以打开原始页面。

我的控制器都引用了$this->middleware(['auth', 'new_user']);,我的中间件如下所示:

<?php

namespace App\Http\Middleware;

use Closure;

use App\Http\Controllers\Auth;


class CheckIfNewUser
{
    public function handle($request, Closure $next)
    {
        $user = $request->user();

        if (! is_null($user->last_logged_in_date )) {
            return $next($request);
        }

        return redirect('password/reset');
    }
}

任何指导?

1 个答案:

答案 0 :(得分:0)

因此,如果我理解正确,密码重置控制器使用  期望用户无法登录的guest中间件。 您已经创建了一个new_user中间件,当用户登录但新的时候会启动它。 因此,登录的新用户被发送到需要访客的重置控制器,您显然不是因为您已登录,因此它会将您发送回您的家庭控制器,该控制器会检查并看到您是新用户,因此它会让你重置密码....你得到的图片:))