我正在学习ASP.net会员资格功能。
我想知道如何实现以便以后登录会话注销以前的登录会话以避免并发登录。我知道如何检查用户是否在线(通过Membership.IsOnline())并注销当前用户(通过FormsAuthentication.SignOut())。但我不知道如何注销以前的登录会话。
我能阅读的任何代码或参考资料吗?
答案 0 :(得分:3)
本文具有相同的实现,但更多解释并包含所需的所有代码:
http://teknohippy.net/2008/08/21/stopping-aspnet-concurrent-logins/
答案 1 :(得分:1)
我认为没有明确的方法可以做到这一点。
实现它的一种方法是在用户登录时在Cache中存储某种令牌(会话ID?)。每次用户登录时撤销旧令牌。然后添加一个HttpModule来检查这个令牌...当请求进入不匹配时,请将用户注销。或者,将此逻辑放在母版页或所有应用页面继承的页面对象中。