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


In Laravel 5, how make sure a user is authed uniquely?

我正在寻找一个解决方案,允许用户在同一时间只登录一次。我是Laravel的新手,在这种情况下,我几乎是开箱即用(文件会话驱动程序和默认的auc -handling with custom views)。

我的想法是在用户第二次登录后"重置"用户的授权,以自动使所有其他活动会话无效。

所以我的首要问题是:是否有一种方法可以用一些Laravel魔法来实现这个功能,或者我需要自己发明这个功能?

您还可以这样做:

在用户表中添加一列:

sessionID (varchar or text)

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

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