2014-02-24 1 views
0

지속성되지 :영구 쿠키 제한 지정 시간 후 내가 아래 인증 쿠키 동일한 설정

FormsAuthentication.SetAuthCookie (member.UserName, member.RememberMe);

와의 Web.config에서

:

<authentication mode="Forms"> 
    <forms loginUrl="~/Login" timeout="2" slidingExpiration="true"/> 
</authentication> 

참 또는 거짓 기억, 결과는 차이가 있으며, 사용자는 이분 후 로그 아웃. 내 문제는 어디에 있습니까? 감사

+0

당신은 시간 제한과 웹 설정 = "2" – Akhlesh

+0

없는 @akhlesh, 그렇지 않습니다에 sessionState의를 사용하는 그것을 가지고. "무효 MvcApplication_PostAuthenticateRequest (객체 송신자있는 EventArgs E) {; System.Web.HttpContext.Current.SetSessionStateBehavior ( SessionStateBehavior.Required)}":이 Global.asax에 코드를 – mortazavi

답변

0
FormsAuthentication.SetAuthCookie(member.UserName, member.RememberMe); 

member.RememberMe 경우 다음 쿠키 중 하나는 타임 아웃시 또는 사용자가 브라우저를 닫으면에 만료됩니다 거짓.

member.RememberMe가 이면 인 경우 쿠키는 만료시에만 만료됩니다 (영구적이든 아니든간에).

하지만 당신은 영구 쿠키에 대한 제한 시간을 늘리려면 당신은 다음과 같이 할 수 있습니다 : -

var timeOut = member.RememberMe ? DateTime.Now.AddMinutes(20) : DateTime.Now.AddMinutes(2); 
var fat = new FormsAuthenticationTicket(1, member.UserName, DateTime.Now,timeOut, member.RememberMe, member.UserName); 
string encTicket = FormsAuthentication.Encrypt(fat); 
Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket) { Expires = fat.Expiration });