我制作了一个 ASP.NET 的会员提供商,它运作良好,但我注意到,如果用户更改密码签名,然后试图再次签名,密码就失败了,如果用户有两个或两个以上的账户,用一个账户签名,并试图与另一个账户签名。如果用户清理浏览器中的饼干,他/她可以再次签名,那么当用户签名退出饼干时,似乎出于某种原因不会删除。这是我的签名代码:
void ClearAuthenticationCookie()
{
var cookie1 = new HttpCookie(FormsAuthentication.FormsCookieName, String.Empty) { Expires = DateTime.Now.AddYears(-1) };
Response.Cookies.Add(cookie1);
}
protected void Page_Load(object sender, EventArgs e)
{
FormsAuthentication.SignOut();
ClearAuthenticationCookie();
FormsAuthentication.RedirectToLoginPage();
}