2010-06-14 5 views
2

사용자가 내 사이트에 로그인하면 일부 정보가 포함 된 쿠키가 생성됩니다. 그러나 로그인 할 때마다 페이지를 변경하면 쿠키의 가치가 손실됩니다. 쿠키는 아직 있지만 비어 있습니다.페이지가 변경되면 ASP.NET MVC 쿠키 값이 손실됩니다.

내 코드를 검사했는데 쿠키가 내가 한 모든 것으로 다시 작성되지 않습니다. 페이지가 변경 될 때 쿠키가 비어있는 이유에 대해 알 수 있습니까?

다음은 쿠키를 만드는 방법입니다.

public static void CreateUserCookie(long userId, string username, bool rememberMe) { 

     HttpCookie cookie = new HttpCookie("CookieName"); 
     cookie.Value = string.Format("{0}+{1}+{2}", userId, username, SecurityUtils.CreateHashedCookieValue(userId, username)); 

     if (rememberMe) { 
      cookie.Expires = DateTime.Now.AddMonths(1); 
     } else { 
      cookie.Expires = DateTime.MinValue; 
     } 

     HttpContext.Current.Response.Cookies.Add(cookie); 
    } 
+0

일부 코드 (주로 쿠키 생성 코드)를 표시하면 도움이 훨씬 쉬워 질 것입니다. –

+0

나는 그것이 중요하다고 생각하지 않지만 여기에 있습니다. :) –

답변

2

이 메서드를 호출하면 "rememberMe"매개 변수를 true로 전달합니까? 그렇지 않으면 쿠키가 즉시 만료됩니다.

전화 코드가 표시되지 않았으므로 잠재적으로 수행 한 것일 수 있습니다.

+0

그래서 쿠키는 즉시 DateTime.MinValue로 만료됩니까? 브라우저 세션이 끝나면 만료되도록하려면 어떻게 입력해야합니까? –

+0

"true"를 전달하면 한 달 만료되거나 다른 시간대 (20 분, 하루 등)가 될 수 있습니다. – Fenton

관련 문제