最近我决定添加一个“记住我”功能到我的Laravel 4应用程序。 与大成适当的方法发现:
Auth::attempt(array $credentials = array(), $remember = false)
这是像这样我需要通过:
Auth::attempt($userdata, Input::has('remember'))
应用不停的验证会话,并在浏览器关闭后,用户被认证。
虽然,我发现现在Laravel总是保持用户身份验证,无论状态是“记住”复选标记。
我试图做:
Auth::attempt($userdata, false)
和
Auth::attempt($userdata,)
用户跨浏览器会话还在验证! 现在,由于Auth::attempt($userdata)
没有保留auth会话,我觉得只要有Auth::attempt
方法中的第二个参数的迹象,Laravel auto会认为它是“真实的”。 任何人都可以澄清?
编辑: 要使它成为一个超级大家都很清楚,我将列出的步骤重新创建此行为:
- 应用
Auth::logout();
- 登录再次
Auth::attempt($userdata, false)
- 关闭和打开退出的浏览器
- 转到应用程序的URL。
- 加载应用程序认证
这是我在这里的第一个问题,所以,请耐心等待我:)
谢谢你的回答,我只是不确定你的意思 - 我正在谈论“干净”的登录,没有任何cookie设置之前。 –
在上次登录后是否已经调用了'logout()'? – tharumax
是的,我现在编辑了我的帖子,应该更清楚:) –