2010-07-16 7 views
3

asp.net mvc 응용 프로그램을 구축 중입니다. 사용자가 로그 아웃하지 않는 한 세션이 만료되지 않도록 세션을 원한다.사용자가 로그 아웃하지 않는 한 stackoverflow.com과 같이 만료되지 않는 세션

가장 좋은 방법은 무엇인가요?

나는

FormsAuthentication.SetAuthCookie(userName, createPersistentCookie); 

을 사용 true로 createPersistentCookie을 설정하지만, 여전히 난 후 언젠가 로그 아웃 취득했다.

답변

6

슬라이딩 만료를 구현하십시오. 만료 시간을 적절한 값 (일, 주, 주 최대)으로 두십시오. 각 요청 (가장 간단한) 또는 특정 간격으로 쿠키를 갱신하십시오.

+0

이것은 또한 효과가 있으며 아마 1 년 만기를 사용하는 것보다 낫습니다. – Chris

1

FormsAuthentication 쿠키는 만료를 결정하기 위해 제한 시간 값을 사용합니다. createPersistentCookie 플래그는 브라우저가 닫힐 때 쿠키가 만료되는 것을 허용하지 않고 만료 값을 설정하도록 API에 지시합니다. 만기를 방지하려면 web.config에서 양식 인증 시간 초과 값을 늘리십시오. 이 값은 분 단위이므로 쿠키가 1 년 동안 지속되도록하려면 525600을 사용하십시오.

+0

글쎄, 서버에서 많은 메모리가 필요합니다. 어떤 대안이 있습니까? – San

+0

응? 무엇이 많은 기억을 취할 것인가? 단일 int 값입니다. – Chris

+0

은 서버의 메모리를 차지하지 않습니다. 쿠키 만료는 클라이언트의 imestamp를 통해 수행됩니다. –

관련 문제