【问题标题】:Log out membership user by user name按用户名注销会员用户
【发布时间】:2012-08-13 23:00:29
【问题描述】:

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

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

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

【问题讨论】:

    标签: asp.net


    【解决方案1】:

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

    【讨论】:

    • 这不会阻止当前用户登录吗?我需要允许当前用户进入,并终止该用户名的所有先前会话。
    • 如果在登录时将当前 ID 设置为经过身份验证的 ID,则不会。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 2017-07-06
    • 2019-01-05
    • 1970-01-01
    • 2015-06-30
    • 2010-09-29
    • 2015-07-16
    相关资源
    最近更新 更多