Laravel 在多个会话中保存有关用户的信息

Posted

技术标签:

【中文标题】Laravel 在多个会话中保存有关用户的信息【英文标题】:Laravel keep information about users on multiple sessions 【发布时间】:2015-03-08 17:40:14 【问题描述】:

我正在实施我的数据库。 xD 我是否应该进行更改,但我希望有比我更有经验的人提供有关它的更多信息。

1) 出于安全原因,我是否应该确保进行跟踪。 我想创建一个表“访问”,其中包含以下字段。 id、id_user、浏览器、操作系统、日期、ip。

我应该改变什么,以确保每次用户登录时,都会在此表中添加一条新记录。

如果您有更多关于如何改进这一点的提示,我将不胜感激。

2)我想这样做可以让用户选择是否他选择的会话或是否永久。 我只能找到一种方法来做到这一点,即会话持续一段时间。 但我想实施一个嫁接。

3) 我是否应该实现多个会话,我会解释。 每个用户体验他们的会话的可能性,例如 facebook 之前。 您可以查看存在多少活动会话以及日期。 我在这样的桌子上想: id、id_user、队列、浏览器、操作系统、日期、ip。

你怎么看,你能做什么? 如果是,我应该改变 laravel 的结构来做到这一点?

提前谢谢谁会帮助我。 对于我的英语和冗长的文字,我深表歉意。

【问题讨论】:

【参考方案1】:

1) 您还应该使用该日志记录表的时间戳。您可以使用内置的 updated_at 和 created_at 时间戳。在您的登录函数中,只需创建模型的新实例,填充属性并保存()它。

2) 您可以使用内置的记住我的行为。更多细节可以在 Laravel 文档中找到http://laravel.com/docs/4.2/security

3) 您能否详细解释一下为什么要实施多个会话?为什么这对您的应用程序有用?

希望我的回答有帮助。

【讨论】:

同时,感谢您的回复。第二点我设法实现了它。现在到另一个。 1)我更喜欢使用外部表,所以你可能想检查他们的访问权限。但是在认证阶段我不知道怎么做,如果数据正确,在这个表中添加一条新记录。 3) 用户可以从不同的设备访问,“PC、桌子、手机等..”并且可以有更多的会话 aperte.Se 用户想要使用他的帐户检查所有打开的会话,如果他愿意,可以这样做,也可以决定删除它们,所以唯一的开放会话将保留他,如果你要连接以前执行过会话的设备,但现在是 db 的会话不再存在,用户不应与该帐户连接。我不知道我是否清楚。 :) 1) 您可以通过简单地创建另一个数据库模型(例如“AccessLogs”)在不同的表中实现这一点。然后,您可以在登录脚本的末尾创建一个新的 AccessLogs 实例,映射适当的属性,并 save() 新模型。 3)这很有意义。您是否在寻求帮助来实现此功能? 是的,我将不胜感激。 ;)

以上是关于Laravel 在多个会话中保存有关用户的信息的主要内容,如果未能解决你的问题,请参考以下文章

tmux 使用 tmux-resurrent 保存当前工作环境

如何保存StorageFile以便以后使用?

Laravel 为外部用户登录成功设置会话或令牌 - 无用户仅数据库 Api 用户

在a.txt文件中保存有若干double类型的数据,读取这些数据,然后排序保存到b.txt

Laravel:在多个域上共享会话数据

通过多个 Laravel 5 安装跨子域共享身份验证会话