[英]Laravel remember me is always on
我正在使用Laravel 4.2 ,我想让用户决定是否要在PC上记住他们的登录信息。 所以我的登录表单如下所示:
勾选复选框后,帖子字段将包含'remember_me' => 'on'
。 表单发布到名为sessions.store
的命名路由,其处理方式如下:
public function store()
{
// Capture input data
$input = Input::only('email', 'password');
// Validate input
$this->loginForm->validate($input);
// Login user
if (Auth::attempt($input, (Input::get('remember_me') == 'on')))
return Redirect::intended('/');
// Login error
return Redirect::back()->withInput()->withFlashError('Invalid portal account credentials provided');
}
出于某种原因,laravel保持用户登录(即,您完全关闭浏览器并重新打开它,您无需登录,您已经登录),即使他们没有勾选复选框。
知道为什么会这样吗?
更新
这是我的sessions / create.blade.php : http : //pastebin.com/raw.php?i = MbrLgg6Y
这是我的javascript复选框助手 : http : //pastebin.com/raw.php? i = R8mNrj3s
尝试在config/session.php
expire_on_close
更改为true
。 关闭浏览器时,Laravel应清除会话。
你确定记得我是一个复选框吗? 它看起来像是截图中提交按钮的一部分,因此无论如何都可以触发它。
最简单的方法是将dd(Input::get('remember_me'))
放入你的控制器中,看看当你没有勾选记忆框时你是否仍然“开启”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.