0

我知道防止多用户登录的机制:在 asp.net 站点中如何防止同一用户 ID 的多次登录?. 我的情况不同。

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

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

4

1 回答 1

0

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

于 2012-08-14T02:57:44.163 回答