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 保存当前工作环境
Laravel 为外部用户登录成功设置会话或令牌 - 无用户仅数据库 Api 用户