我们的应用程序使用Symfony 2.0和带有FOSUserBundle的MongoDB进行用户管理。
客户希望防止在其应用程序中同时从不同设备使用相同的用户名登录。
我们的想法是在成功登录时使同一用户的所有其他会话无效/删除。
问题是,我们无法在 DB 中保存会话,因为 Mongo 会话处理程序是在 2.1 版中添加的。
我们提出的唯一解决方案是遍历保存在文件系统中的会话文件,并检查用户的用户名是否保存在该文件中。如果这是真的,我们只需删除该文件并终止其他位置的登录会话。当然,我们必须检查我们是否也没有删除当前会话。
有谁知道如何解决这个问题?如果没有,是否有我们应该知道的隐藏陷阱?