【发布时间】:2014-09-02 21:16:03
【问题描述】:
我是 laravel 的新手,并在我的应用程序中添加了用户身份验证。现在我不希望在关闭浏览器后记住经过身份验证的用户,但实际上是这样。我该如何阻止这个? remember_token 是一个可为空的 varchar(100),它在第一次登录时设置,然后在每次用户注销时更新。
难道不应该只在我在 auth::attempt() 中将 true 作为参数传递时才记住用户吗?
Tyvm 提前...
这是我模型的一部分:
$validation = Validator::make($input, $rules, $messages);
if ($validation->fails())
{
$this->response['message'] = $validation->getMessageBag()->first();
}
else
{
$this->response['message'] = $messages['user.missing'];
if (Auth::attempt(array(
'emailadress' => $input['emailadress'],
'password' => $input['password'])))
{
$this->response['valid'] = true;
$this->response['message'] = 'Hey '.Auth::user()->firstname.'!';
$this->response['redirect'] = '/hello';
}
}
return $this->response;
【问题讨论】:
-
即使您不使用记忆功能,remember_token 也会更新,这并不意味着关闭浏览器后会记住用户。你测试了吗?
-
是的,remember_token 总是在注销时更新。但我的用户在关闭并重新打开浏览器后总是会被记住,除非我在 'config/session.php' 中将 'expire_on_close' 设置为 false。这不应该,对吧?
-
据我所知这是不应该的(尽管我停用了 remember_token)。这可能是像stackoverflow.com/q/23916096/575765 这样的缓存问题吗?
标签: php laravel remember-me