在Laravel 5中,如何确保用户是唯一的?

时间:2015-07-30 08:40:11

标签: php laravel

我正在寻找允许用户同时登录一次的解决方案。我是Laravel的新手,在这种情况下,我几乎开箱即用(文件会话驱动程序和默认的自定义视图处理)。

我的想法是重置'用户在第二次登录后的身份验证,自动使所有其他活动会话无效。

所以我的主要问题是:有没有办法用一些Laravel魔术来实现这个目标,还是我需要自己发明这个功能?

1 个答案:

答案 0 :(得分:0)

您还可以做以下事情:

在您的usertable中,添加一列:

sessionID (varchar or text)

现在您要做的是以下内容: 用户登录时,将会话ID存储在sessionID字段中。每次用户加载页面或发出请求时,请检查数据库中的sessionID值是否与登录用户的sessionID相同。如果不是,请终止会话并让他再次登录。

现在,当用户登录时,如果sessionID值已经填充,请检查usertable。如果是,请将其更改为新的sessionID。结果是所有具有旧sessionID的请求都将无效(因为您的检查),并且用户只能使用新会话访问您的webapp /网站。

因此,这可以确保您的用户具有唯一的身份验证。