FormsAuthentication을 사용하는 로그인 시스템에서 브라우저를 닫고 열 때 어떤 이유로 나를 로그 아웃 할 수 있습니다. 로그인 코드를 설정하는 방법은 다음과 같습니다.브라우저를 닫은 후 로그인 상태가 손실됩니다.
FormsAuthenticationTicket ticket;
ticket = new FormsAuthenticationTicket(1, tbUsername.Text, DateTime.Now, DateTime.Now.AddYears(1), true, string.Empty, FormsAuthentication.FormsCookiePath);
string encryptedTicket = FormsAuthentication.Encrypt(ticket);
HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
cookie.HttpOnly = true;
//Add the cookie to the request
Context.Response.Cookies.Add(cookie);
본인이 볼 수 있듯이 세션간에 영구적으로 쿠키를 설정했습니다. 다음은 내 web.config 파트입니다.
<authentication mode="Forms">
<forms slidingExpiration="false" loginUrl="~/Login.aspx" name="BOIGAUTH" defaultUrl="~/Admin/Settings.aspx"/>
</authentication>
또한이 특정 응용 프로그램에서는 SessionState가 비활성화됩니다. 누구 잘못 알아요?
Btw는 웹 사이트와 상호 작용하지 않았는데도 2 시간 이상 응용 프로그램 브라우저를 켜 놓아 두었습니다. 브라우저를 닫을 때 쿠키가 손실됩니다.
어떤 브라우저를 사용하고 있습니까? – curtisk
Firefox와 Chrome에서 모두 테스트했는데 브라우저 문제가 아닌 것 같습니다. – TheGateKeeper