我最近通过编写一个简单的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);
}
但是,这会产生重定向循环。我做错了什么?我该怎么做才能将用户重定向到正确的页面?
答案 0 :(得分:0)
first_login字段是字符串吗?通过查看您的代码,它看起来如此。试试这个
else if ($this->auth->user()->first_login == "true"){
$this->auth->user()->update(['first_login' => "false"])
return redirect('user/change-password/');
}