0

web.config에서이 작업을 수행했습니다.mvc에서 세션 시간 초과가 작동하지 않습니다.

<system.web> 
    <sessionState mode="InProc" timeout="3"></sessionState> 
    <authentication mode="Forms" > 
    <forms loginUrl="~/Account/Login" timeout="2880"/> 
    </authentication> 

세션 시간 초과 후 모든 데이터가 지워지지만 로그인 페이지로 리디렉션되지 않습니다.

답변

0

세션 시간 초과는 인증 시간 초과와 관련이 없습니다. InProc 세션은 메모리에 보관되는 반면 인증 토큰은 만료 날짜/시간이 포함 된 쿠키입니다. 수행하는 방법에 대한이 answer를 참조하는 것이 FormsAuthentication.SignOut를 호출하는 것만 큼 간단하지로 - 당신이해야 할 것이 무엇

global.asaxSession_Ended 이벤트에 인증 티켓의 만료를 강제합니다.

+0

보호 된 void Session_End (개체 보낸 사람, EventArgs 전자) { FormsAuthentication.SignOut(); Session.Clear(); Session.Abandon(); Response.RedirectToRoute ("~/Account/LogOff"); } – van

+0

session_end가 수신되었지만 리디렉션되지 않았습니다. 또한 로그 아웃 할 수 없습니다. – van

관련 문제