Laravel:使用和不使用记住我选项登录之间的区别?

标签 laravel login

我对登录表单下方的默认 Laravel 记住我选项有疑问。我使用默认的内置 LoginController .
当我阅读 Laravel 文档时,我了解了“记住”选项:

"which will keep the user authenticated indefinitely, or until they manually logout"



好的。现在我做一个测试:
  • 我取消选中记住我复选框,然后登录。然后我关闭浏览器。我打开浏览器并转到我的应用程序:我仍处于登录状态。
  • 然后我选中记住我,登录,关闭浏览器,打开浏览器的复选框:完全相同的结果:我仍然登录......

  • 这怎么可能?有什么不同?

    最佳答案

    如果您使用“记住我”,Laravel 会放置带有 token 的 cookie,用于在您下次访问该页面时登录(以防您以某种方式注销,我稍后会解释)。

    Laravel 默认使用有效期为 2 小时的 session (您可以在配置中设置),因此如果您在登录时关闭浏览器然后尝试打开 再次浏览器在 2 小时服务器的窗口中不会注意到变化。

    “以某种方式注销”

  • 显然,通过单击应用程序中的注销
  • 通过浏览器本身或第三方程序清除浏览器缓存
  • 使用不同的浏览器(这只是为了澄清)
  • 使用隐身模式(这只是为了澄清)
  • 使用没有同步功能的不同计算机和浏览器(这是为了澄清)


  • 要回答您的问题“有什么区别?”:

    如果您使用记住我,Laravel 将使用登录时使用的 token 而不是凭据(名称:密码组合)设置 cookie,并且该过程对用户不可见。

    如果您不使用“记住我”,则您只能登录 2 小时(或配置文件中设置的任何内容)而无需任何操作。浏览器即使在关闭后仍保留 session 信息的事实被视为浏览器的功能)。

    关于Laravel:使用和不使用记住我选项登录之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44696415/

    相关文章:

    login - oauth2 是否只在有第三方授权时使用?

    ruby-on-rails - 什么是最好的 ruby​​ on rails 登录和身份验证插件

    php - 对于登录 GET 还是 POST?

    php - 在 Laravel 中从数据库中独特地选择列

    php - 拉维尔 5 : How to get list of Parameters in Middleware

    php - Laravel 支持 return Redirect::back()->withFile() 吗?

    javascript - 从 Enum 获取字符串以形成 Laravel 5.3

    javascript - 如何在 Laravel 中限制与管理相关的 AngularJs Controller ?

    login - 如果用户无法使用他们的 OpenID 登录怎么办?

    ipad - Apple 的 App Store 是否接受需要用户登录的应用程序?