代码之家  ›  专栏  ›  技术社区  ›  Billy

避免在ASP.NET成员身份中同时登录(注销以前的登录会话)

  •  2
  • Billy  · 技术社区  · 16 年前

    我正在学习ASP.NET成员资格功能。

    我想知道如何实现,以便以后的登录会话注销以前的登录会话,以避免并发登录。我知道如何检查用户是否在线(通过membership.is online())和注销当前用户(通过formsAuthentication.signout())。但我不知道如何注销上一个登录会话。

    有我能读到的代码或参考吗?

    2 回复  |  直到 16 年前
        1
  •  1
  •   Bryan    16 年前

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

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

        2
  •  3
  •   Manuel Castro    16 年前

    本文具有相同的实现,但有更多的解释,以及所有需要的代码:

    http://teknohippy.net/2008/08/21/stopping-aspnet-concurrent-logins/

    推荐文章