【发布时间】:2018-11-01 03:37:46
【问题描述】:
- (2) 用户从不同的计算机即 user_1 和 user_2 登录 App
- 我删除了数据库并再次迁移
- User_2 再次注册
- 用户_1 登录(通过刷新页面),用户_2 的会话出现在导航栏上,用户_2 上的名称显示在导航栏上
【问题讨论】:
标签: laravel session php-5.6 laravel-authorization
【问题讨论】:
标签: laravel session php-5.6 laravel-authorization
这是因为 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
这样会话将被存储在数据库中,如果数据库这样做,则重置。
【讨论】: