2010-01-08 39 views
2

我正在学习ASP.net成员资格功能。避免ASP.net成员中的并发登录(注销前登录会话)

我想知道如何实现,以便以后登录会话注销前登录会话,以避免并发登录。我知道如何检查用户是否在线(通过Membership.IsOnline())并注销当前用户(通过FormsAuthentication.SignOut())。但我不知道如何注销以前的登录会话。

我可以阅读的任何代码或参考?

回答

1

我不认为有明确的方法来做到这一点。

实现它的一种方法是在用户登录时在缓存中存储某种登录令牌(会话ID?)。每当用户登录时撤消旧令牌,然后添加一个HttpModule,它检查这个令牌......当请求进入时不匹配,将用户登出。或者,将此逻辑放在母版页或所有应用程序页面继承的页面对象中。

+0

这意味着我需要的会话ID存储在某个地方。 Applicaton [“login”] = Session.SessionID或Cache [“login”] = Session.SessionID或Database?哪个更好? – Billy 2010-01-11 12:48:35

+0

我会使用缓存,以便在到期时自动清理。 – Bryan 2010-01-11 19:29:44

+0

你使用MVC吗? – rodmjay 2013-03-28 11:14:56