gpt4 book ai didi

c# - 如何注销不是当前用户的多个 MembershipUser?

转载 作者:行者123 更新时间:2023-11-30 16:31:49 27 4
gpt4 key购买 nike

我正在使用属于 MVC2 默认项目的 MembershipProvider。

我希望能够获取用户名列表,然后注销用户,并在需要时销毁他们的 session 。我能想到的最接近的是:

foreach(string userName in UserNames)
{
MembershipProvider MembershipProvider = new MembershipProvider();
MembershipUser membershipUser = MembershipProvider.GetUser(userName, true);
Session.Abandon();
FormsAuthentication.SignOut();
}

我想我需要使用与我想注销的用户相关的 session 和/或注销方法,但我不确定它们在哪里。

执行此操作的正确方法是什么?

最佳答案

那是行不通的...

Session.Abandon() 将用于当前 HttpContext。不像您要尝试的那样针对每个用户。与 FormsAuthentication.SignOut() 相同。

最好的办法是在 Application_AuthenticateRequest 事件中根据该数组检查当前用户,然后将他们注销:

  protected void Application_AuthenticateRequest(Object sender, EventArgs e)
{
if (User.Identity.IsAuthenticated)
{
//add your ckeck here

if (Usernames.Contains(User.Identity.Name))
{
Session.Abandon();
FormsAuthentication.SignOut();
}
}
}

关于c# - 如何注销不是当前用户的多个 MembershipUser?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4600109/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com