【发布时间】:2015-02-15 01:36:29
【问题描述】:
我正在使用 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
【问题讨论】:
-
您可以发布登录表单的代码吗?
-
在记住我的比较中可能只需要严格等于:
Input::get('remember_me') === 'on' -
@mopo922 我也试过了,没用。
-
我已经用我的视图/js 的源更新了我的问题
-
我没有看到您的代码有任何问题。也许问题在于您的控制器或路由。你能告诉我们你的路由和路由控制器的相关代码吗?
标签: php authentication laravel laravel-4