2013-05-15 1 views
2

방법 자동 MVC4에서 사용자 유휴 시간이 5 분인 경우 자동으로 로그 아웃하는 방법은 무엇입니까?

FormsAuthentication.SignOut(); 
Session.RemoveAll(); 
return RedirectToAction("Login", "Home"); 

사용자 유휴 시간 MVC4 프로젝트에서 5 분입니까?

+0

5 분이 정말 짧습니다. – Bart

+0

또한 "유휴 상태"를 정의해야합니까? 5 분 동안 아무런 요청도 없었습니까? –

+0

@AdrianGodong 예, 5 분 동안 전혀 요청하지 않았습니다. – user951581

답변

3

는 유휴 상태의 당신의 정의를 바탕으로 보인다.

시간 제한을 5 분으로 설정하고 SlidingExpiration을 true로 설정하면 가야합니다.

-3

소요되면 사용자는 로그인 페이지로 리디렉션됩니다 5 분이 지난 후에도 로그인 한 콘텐츠를 숨기려면 Kenneths의 답변을 각 페이지의 작은 자바 스크립트와 결합 할 수 있습니다. 당신이 FormsAuthentication 클래스의 모두 SlidingExpirationTimeout 속성을 사용하여 그것을 할 수처럼

setTimeout(function() { 
    // iis will handle the rest. 
    location.reload(); 
}, 300000); 
+0

이렇게하면 서버에서 시작해야합니다. 또한 사용자는 양식 입력시이 기능이 마음에 들지 않습니다. – CodeCaster

+0

서버에서 시작해야하는 "it"은 무엇입니까? 양식 인증 자체는 다시로드 할 때 로그 아웃하고 loginurl로 리다이렉하고 (필요한 경우) returnulr을 유지합니다. 정확히 사용자가 싫어하는 것은 무엇입니까? 그들이 유휴 상태 일 때. 페이지가 자동으로 로그 아웃됩니까? 개인 데이터는 어떻습니까? 다른 사용자가 중단 한 페이지에서 귀하의 페이지를 보려고하고 로그 아웃을 잊으셨습니까? – maxlego

+0

"it"은 서버 로그 오프를 의미합니다. 사용자가 입력을 잃어 버렸기 때문에 설정된 시간 초과 후 페이지가 다시로드되지 않아야합니다. 예를 들어 사용자가 아직 로그인했는지 여부를 서버에 폴링하고, 그렇지 않은 경우 페이지에 "다시 로그인하십시오"오버레이를 넣을 수 있습니다. – CodeCaster

관련 문제