【问题标题】:Laravel User Session Issue | Laravel 5.6Laravel 用户会话问题 |拉拉维尔 5.6
【发布时间】:2018-11-01 03:37:46
【问题描述】:
  1. (2) 用户从不同的计算机即 user_1 和 user_2 登录 App
  2. 我删除了数据库并再次迁移
  3. User_2 再次注册
  4. 用户_1 登录(通过刷新页面),用户_2 的会话出现在导航栏上,用户_2 上的名称显示在导航栏上

【问题讨论】:

    标签: laravel session php-5.6 laravel-authorization


    【解决方案1】:

    这是因为 laravel 默认使用基于文件的会话,因此它通过会话将用户 1 与用户 ID 1 耦合。

    所以当 'user 2' 注册一个新帐户时,它的 id 将为 1,当 'user 1' 重新加载时,laravel 检查会话,并看到 'user 1' 的用户 if 为 1会话,尽管它不再是他的帐户。

    通常这不是问题(migrate:fresh 在生产中很少发生)

    解决方案是运行php artisan session:table 并将SESSION_DRIVER 设置为database in .env

    这样会话将被存储在数据库中,如果数据库这样做,则重置。

    【讨论】:

    • 有道理。谢谢
    猜你喜欢
    • 2019-01-01
    • 2023-03-29
    • 2017-09-26
    • 2018-10-16
    • 1970-01-01
    • 1970-01-01
    • 2016-10-03
    • 2018-05-26
    • 2018-12-17
    相关资源
    最近更新 更多