我的MVC 5应用程序如果他们已经登录到另一个系统,我需要阻止用户登录。为此,我在数据库中有一个标志列,并在用户登录时将其值设置为true,并在用户注销时将其设置为false。但是当用户在一段时间内处于非活动状态或关闭浏览器时会出现问题,这会使身份验证cookie无效,但不会更新数据库中的标志,这反过来又会使用户登录数据库,从而使用户无法登录将永远无法再次登录。 我想知道身份框架是否提供了任何功能,我可以检查当身份验证cookie即将过期时,我可以将数据库中的标志设置为false。
答案 0 :(得分:0)
由于我在这里没有得到任何答案,我找到了解决这个问题的方法,并希望这对其他人也有帮助。我现在正在做的是将当前用户的SessionId
存储在数据库中,并在用户登录时将其isLoggedIn
标志设置为true。当用户注销时,我设置{ {1}}标记为false并从数据库中删除isLoggedIn
。注销功能的相同功能也出现在Global.asax中的SessionId
事件中,该事件处理不活动问题。现在这对我来说很好,但如果有人有不同的更好的方法,我会对其他想法持开放态度。