我正在尝试创建一个可以传递用户名的方法,如果当前用户已登录,该方法将注销该用户。有人能指出我正确的方向。我在ASP.NET中这样做
答案 0 :(得分:0)
您可以使用SignOut方法注销当前用户:
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是不够的。您需要在您的服务器(可能是数据库)上存储经过身份验证的用户列表,然后自定义表单身份验证并检查当前用户名是否在连接用户表中,然后才允许他登录。在注销时,您需要从该表中删除该用户。
答案 1 :(得分:0)
您可以使用Membership方法FindUsersByName。
根据Scottgu的说法,如果您更改用户的角色,如果您没有启用缓存,则用户会在下一次请求时被踢出。
由于您无法访问其FormsAuthentication票证,我无法想到另一种注销用户的方法。