我们的应用防止重复登录使用Symfony的2.0和MongoDB的与FOSUserBundle用户管理。与FOSUserBundle
客户端希望阻止在其应用程序中同时使用同一用户名从不同设备登录。
我们的想法是在发生成功登录时使相同用户的所有其他会话无效/删除。
问题是,我们无法将会话保存在数据库中,因为Mongo会话处理程序稍后在版本2.1中添加。
我们想出的唯一解决方案是迭代保存在文件系统中的会话文件,并检查用户的用户名是否保存在该文件中。如果这是真的,我们只是删除文件和其他地点的登录会话被终止。当然,我们必须检查我们是否也删除当前会话。
有没有人有更好的想法如何解决问题? 如果没有,我们应该知道有没有隐藏的陷阱?
多重登录有问题吗? –
是的,客户端想阻止应用程序用户之间共享用户名。 – matejv
可能的重复:http://stackoverflow.com/questions/10615363 – Ross