2010-04-26 4 views
2

ASP.NET SQL 멤버 자격 공급자를 사용하는 사이트에 문제가 있습니다. 모든 것은 처음 로그인 할 때 올바르게 작동합니다. 즉, 사용자는 로그인 페이지로 이동하고 로그인에 성공하면 요청한 원래 페이지가 전송됩니다.ASP.NET 폼 인증 쿠키가 만료되지 않음

그러나 브라우저를 닫은 후 다시 열면 인증 쿠키가 그대로 남아 있습니다. 로그인하지 않고 인증해야하는 페이지로 곧바로 이동할 수 있습니다.

동일한 멤버 자격 공급자를 사용하는 다른 사이트가 있는데 다르게 작동합니다. Firefox에서 쿠키를 검사 할 때 문제가있는 사이트에 "Expires : Monday, April 26, 2010 2:23:50 PM"이 올바르게 작동하는 사이트에 "만료 : 세션이 끝났습니다"라는 메시지가 표시됩니다.

만료 시간을 지정하는 설정은 두 사이트 모두에 대해 동일합니다

궁극적으로


    authentication mode="Forms" 
     forms name=".MySite" protection="All" path="/" 
      loginUrl="mySite/login.aspx" slidingExpiration="true" timeout="30" 
      requireSSL="false" 
    authentication 

은 (는 편집기를 엉망 이었기 때문에 나는 위의 코드를 참조 요소 구분 기호를 제거) 시간 제한을 30 분으로 설정하고 싶지만 사용자가 브라우저를 닫을 때 쿠키가 만료되기를 원합니다. 나는 그것이 30 분 동안 기계에 앉아 있기를 원하지 않는다. 이것은 내가 작업하고있는 다른 사이트에서 동작하는 방식이며, 차이점이 무엇인지 잘 모르겠습니다.

감사 -Shane

답변

3

당신이 쿠키를 기록 로그인 페이지에 코드에서 false로 쿠키 지속성을 설정하려고 했습니까?

예 :

FormsAuthentication.RedirectFromLoginPage(userName, false); 
+0

은 음 ... 그게 문제가 될 것입니다. 고마워요! – Shane

+0

답변 해 주셔서 감사합니다. 내가 너를 다시 보여주기를 빌어. – Shane