如何在laravel 5中首次登录时重定向到特定页面?

时间:2015-05-07 19:17:51

标签: php redirect laravel-5

我最近通过编写一个简单的Web应用程序来尝试最新的laravel 5。我正在使用laravel 5提供的默认登录页面。它工作正常,我想稍微扭曲一下,用户将拥有系统设置的默认密码,用户需要将默认密码更改为他们自己的密码。首次登录。

我添加了一个名为" first_login"在默认用户表中,默认设置为" true"。我已经通过直接输入网址测试了密码设置页面,但它确实有效。然后,我稍微更改了Middleware \ Authenticate.php,尝试在首次登录时将用户重定向到更改密码页面。

public function handle($request, Closure $next)
    {
        if ($this->auth->guest())
        {
            if ($request->ajax())
            {
                return response('Unauthorized.', 401);
            }
            else
            {
                return redirect()->guest('auth/login');
            }
        }
        else if ($this->auth->user()->first_login == "true")
            return redirect('user/change-password/');

        return $next($request);
    }

但是,这会产生重定向循环。我做错了什么?我该怎么做才能将用户重定向到正确的页面?

1 个答案:

答案 0 :(得分:0)

first_login字段是字符串吗?通过查看您的代码,它看起来如此。试试这个

else if ($this->auth->user()->first_login == "true"){
    $this->auth->user()->update(['first_login' => "false"])
    return redirect('user/change-password/');
}