2014-07-08 3 views
1

저는 응용 프로그램을 만들고 있습니다. 사용자가 로그인하면 새 세션이 만들어지고 로그 아웃하면 세션이 파괴됩니다. 내가 좋아하는 session mode = InProc 사용하고 Web.config의에서asp.net에서 사용자 세션을 유지 관리하는 방법?

,

<sessionState cookieless="false" mode="InProc" timeout="50"></sessionState> 

당신은 세션이 파괴 50 min 후 것을 볼 수 있듯이. 50 분 후에 로그 아웃하지 않으면 사용자 세션을 유지 관리하거나 재생성하는 방법 만 알고 싶습니다.
감사합니다.

+3

이 50 분 제한 시간은 사용자가 50 분 동안 활성 상태가 아니 어서 절대 만료가 아닌 슬라이딩 만료일 인 경우에 해당합니다. –

+0

Sql 서버에서 세션을 유지할 수 있습니까? 또는 ASP.NET MVC5를 만드는 경우 "OWIN 양식 인증"이라는 새로운 인증 미들웨어를 만들었습니다. 그것의 쿠키 기반 인증 및 며칠 동안 지속될 수 있습니다. 나는 그것을 구현하기 쉽다는 것을 고려해 볼 것을 제안합니다. – Irshu

+0

이것이 작동하는 방법을 테스트하기 위해 할 수있는 일은 일시적으로 테스트 환경의 시간 제한을 1 분으로 줄이고 55 초 후에 페이지를 새로 고침하고 20 초 후에 다시 말하면 어떻게 될지 지켜 보는 것입니다. 만료). 시간 초과를 테스트하려면 65 초 후에 페이지를 새로 고칩니다. – Andrew

답변

0

asp.net을 제공하면 현재 50 분 후에 자동으로 세션을 지 웁니다. 따라서 응용 프로그램 논리에서 세션이 비어 있는지 확인하고 사용자를 다시 로그인 페이지로 리디렉션하도록 세션 유효성 검증을 구현해야합니다.

대신 페이지 페이지 로그 아웃 로직을 구현할 수 있지만 'logout.aspx'라는 새 페이지를 만들고 페이지로드 이벤트에서 세션을 지우고 사용자를 로그인 페이지로 리디렉션합니다. 따라서 Singout 링크를 클릭 할 때마다 링크를 logout.aspx로 리디렉션 할 수 있으며 세션을 지우고 사용자를 다시 로그인 페이지로 전달합니다.

+0

예 세션이 null 인 경우 응용 프로그램이 사용자를 로그인 페이지로 리디렉션합니다. –

관련 문제