Asp.net 从我的应用程序中的X个用户中注销1个特定用户

Asp.net 从我的应用程序中的X个用户中注销1个特定用户,asp.net,authentication,logout,Asp.net,Authentication,Logout,我正在尝试创建一个方法,我可以将用户名传递给该方法,如果当前用户登录,该方法将注销该用户。有人能给我指出正确的方向吗。我在ASP.NET中执行此操作您可以使用此方法注销当前用户: if (User.Identity.IsAuthenticated) { // if a user is authenticated kill the authentication cookie: FormsAuthentication.SignOut(); // make sure you

我正在尝试创建一个方法,我可以将用户名传递给该方法,如果当前用户登录,该方法将注销该用户。有人能给我指出正确的方向吗。我在ASP.NET中执行此操作

您可以使用此方法注销当前用户:

if (User.Identity.IsAuthenticated)
{
    // if a user is authenticated kill the authentication cookie:
    FormsAuthentication.SignOut();

    // make sure you redirect in order for the cookie to not be sent
    // on subsequent request
    Response.Redirect("~/default.aspx");
}

就注销另一个用户而言,身份验证cookie是不够的。您需要在服务器(可能是一个数据库)上存储经过身份验证的用户列表,然后自定义表单身份验证,并检查当前用户名是否在connected users表中,然后才允许他登录。注销时,您需要将用户从该表中删除。

您可以使用成员身份方法FindUserByName

根据Scottgu的说法,如果您要更改用户的角色,那么如果您没有打开缓存,用户将在下一个请求中被踢出


我想不出其他方法注销用户,因为您无法访问他们的FormsA身份验证单。

我需要注销特定的用户。这只适用于特定浏览器。我需要能够浏览所有用户并注销我想要的用户。@Robert,如果要实现这一点,您需要更改跟踪已验证用户的方式。正如我在回答中所说,您需要在服务器上保留一个经过身份验证的用户列表。默认情况下,表单身份验证提供程序仅使用存储在客户端浏览器上的Cookie,您无法从给定请求中修改其他客户端。是否要从其他帐户(如管理员帐户)注销用户?