当我尝试使用正确的凭据{{1}尝试登录注册用户时,我按照Laravel's Documentantion中的说明尝试手动登录并注册我网站中的用户登录用户并返回true,但用户在后续请求中丢失。
这是用于登录用户的控制器:
Auth::attempt()
重定向到用户页面后,没有用户会话。
在检查Sessions是否正常工作(我使用数据库驱动程序)后,我注意到Laravel在执行public function login() {
$username = Request::input('username');
$password = Request::input('password');
if (Auth::attempt(['username' => $username, 'password' => $password])) {
return redirect()->route('accounts', [$username]);
} else {
return redirect('/');
}
}
后立即将数据创建到数据库中,但是{{1} }字段为Auth::attempt()
,这就是用户不会保持登录状态的原因。我的用户表包含所有必填字段,只有3个附加字段(user_id
,NULL
和{{1} })。我无法弄清楚为什么first_name
方法在成功验证用户凭据后没有正确创建用户会话,即使Sessions工作正常。
编辑:即使使用AuthController方法创建和登录用户它也不起作用,我得到相同的结果,一个没有last_name
信息的会话。什么可能导致会话/身份验证的行为像这样?