私はASP.NETメンバーシッププロバイダーを作成しましたが、うまく機能しますが、ユーザーがパスワードを変更してサインアウトし、再度サインインしようとすると失敗することに気付きました。これは、ユーザーが2つ以上のアカウントを持っていてサインアウトした場合にも発生しますもう一方とサインインしようとします。ユーザーがブラウザで Cookie をクリアすると、再度サインインできるため、ユーザーがサインアウトしたときに、何らかの理由で Cookie が削除されていないようです。これが私のサインアウトコードです:
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();
}