按用户名注销成员资格用户

时间:2012-08-13 23:00:29

标签: asp.net

我知道防止多个用户登录的机制:In asp.net site how to prevent multiple logins of same user id?。我的情况有所不同。

在我的网站上,单个页面会检查用户是否已登录(默认的.NET成员资格提供程序)。用户通过身份验证后,页面会将其重定向到第三方服务器上的高级服务。这意味着我无法使用上述机制在每个页面上检查当前会话ID与先前存储的会话ID。

登录时,我需要为当前用户结束所有之前的会话。我遇到的所有方法(例如FormsAuthentication.SignOut)仅针对当前用户。是否可以按成员资格用户名注销用户,因此该站点没有两个访问者使用相同的用户名?

1 个答案:

答案 0 :(得分:0)

您可以创建跟踪用户当前会话ID的表/自定义成员资格字段/静态字典/等。用户登录时,将该值设置为当前ID。然后,在global.asax句柄Application_AuthenticateRequest中,检查当前会话是否与您存储的内容相匹配。如果没有,请执行SignOut / redirect。