繁体   English   中英

Laravel记得我一直都在

[英]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.phphttp//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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM