我正在寻找允许用户同时登录一次的解决方案。我是Laravel的新手,在这种情况下,我几乎开箱即用(文件会话驱动程序和默认的自定义视图处理)。
我的想法是重置'用户在第二次登录后的身份验证,自动使所有其他活动会话无效。
所以我的主要问题是:有没有办法用一些Laravel魔术来实现这个目标,还是我需要自己发明这个功能?
答案 0 :(得分:0)
您还可以做以下事情:
在您的usertable中,添加一列:
sessionID (varchar or text)
现在您要做的是以下内容: 用户登录时,将会话ID存储在sessionID字段中。每次用户加载页面或发出请求时,请检查数据库中的sessionID值是否与登录用户的sessionID相同。如果不是,请终止会话并让他再次登录。
现在,当用户登录时,如果sessionID值已经填充,请检查usertable。如果是,请将其更改为新的sessionID。结果是所有具有旧sessionID的请求都将无效(因为您的检查),并且用户只能使用新会话访问您的webapp /网站。
因此,这可以确保您的用户具有唯一的身份验证。