JavaScript를 사용하여 ASP.NET 인증 쿠키 (.ASPXAUTH)를 삭제할 수 있습니까? 서버 왕복없이 ASP.NET/JavaScript 모바일 응용 프로그램에서 Sign Out 기능을 구현하고 싶습니다. 그러나이 방법은 어떤 이유로 작동하지 않습니다.JavaScript를 사용하여 ASP.NET 인증 쿠키 (.ASPXAUTH)를 삭제할 수 있습니까?
document.cookie = '.ASPXAUTH=; expires=Thu, 01-Jan-70 00:00:01 GMT;';
어떻게해야합니까?
감사합니다.
업데이트 : 알았습니다. HttpOnly 쿠키에 대해 읽었습니다. 바로 그 경우입니다. 방법은 위의 작동하지 않습니다 - ASP.NET은 단순히 명령을 무시 :
<httpCookies httpOnlyCookies="false"/>
UPDATE : 쿠키 아닌 Http 만을 만들기 위해, (system.web 섹션)의 web.config에 다음 행을 추가합니다. 내가 Global.asax에이 해킹하고 결국 : 당신이 사용자를 signout하기 위해 쿠키를 삭제할 필요가 없습니다
protected void Application_EndRequest(Object sender, EventArgs e)
{
string cookieName = System.Web.Security.FormsAuthentication.FormsCookieName;
if (Response.Cookies.Count > 0)
{
foreach (string s in Response.Cookies.AllKeys)
{
if (s == cookieName)
{
Response.Cookies[cookieName].HttpOnly = false;
}
}
}
}
나는 세션 상태 등을 정리하기 위해, 당신은뿐만 아니라 서버에서 로그 아웃하고 싶은 말은 것입니다. –
글쎄, 자바 스크립트 클라이언트 응용 프로그램이므로 세션 상태를 사용하지 않습니다. 나는 인증과 REST API를 위해 서버 부분을 사용한다. –
@Alex Avrutin 빠른 업데이트 주셔서 감사합니다 :). 자신의 질문에 대한 대답으로 게시하고 수락 할 수 있습니다. – Li0liQ