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();
}
당신의 개발 환경에서이 문제를 다시 만들 수 있습니까? 'SignOut' 충분해야합니다. –
dev. env.에서 다시 만들 수 있습니다, 나는 모든 단계를 밟았습니다. 멤버십 공급자 코드 및 asp : 에 대한 로그인 호출 이 true를 반환하지만 구성원 공급자 공개 메서드는 asp : menu에서 빈 사용자 이름으로 새 호출을받습니다. 또한 브라우저 탭을 닫고 새 탭을 열면 다시 로그인 할 수 있습니다. –