【发布时间】:2016-12-22 12:15:09
【问题描述】:
此表中的示例数据如下所示:
表中有多个重复的用户会话记录。
vendor\laravel\framework\src\Illuminate\Session\DatabaseSessionHandler.php
在上面的文件路径中,我们有下面的方法
public function write($sessionId, $data)
{
$payload = $this->getDefaultPayload($data);
if (! $this->exists) {
$this->read($sessionId);
}
if ($this->exists) {
$this->getQuery()->where('id', $sessionId)->update($payload);
} else {
$payload['id'] = $sessionId;
$this->getQuery()->insert($payload);
}
$this->exists = true;
}
它检查会话 ID。
问题
我可以避免在会话表中创建重复的用户会话记录吗?会话配置文件中是否有这样做的标志?
【问题讨论】:
-
这允许用户从许多不同的设备和/或浏览器登录,因此他可以通过手机和计算机访问应用程序。您想在用户登录时从所有其他实例中注销该用户吗?
-
我只想保留一个会话。
-
顺便说一句,这会有帮助吗? stackoverflow.com/questions/33311771/…
-
目的是什么?为什么要恢复旧会话?
-
@Helper 您是否使用内置身份验证(工匠制作:身份验证)?我可以为此目的编辑 \App\Http\Auth\AuthController 吗?
标签: php laravel laravel-5 laravel-5.2 laravel-5.1