페이지에서 사용자 동작없이 세션 만료시 (자동) 페이지를 리디렉션하는 방법?세션 만료시 자동으로 리디렉션
1
A
답변
6
사용자가 활동 중일 때마다 점검하고 (mouseclick, keypress) 활동 확인기를 작성하고 사용자가 활동 중일 때 세션을 유지하기 위해 서버 측에 하트 비트를 수행하고 사용자가 활동하지 않을 때 아무것도하지 않음 유효한. 30 분 동안 아무런 활동이 없거나 서버 측에서 기본 세션 시간 제한이 설정되어 있으면 리디렉션을 수행하십시오.
click 및 keypress 이벤트를 연결하고 ajax 요청을 실행하기위한 jQuery의 도움이 거의없는 킥오프 예제입니다.
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$(document).ready(function() {
$.active = false;
$('body').bind('click keypress', function() { $.active = true; });
checkActivity(1800000, 60000, 0); // timeout = 30 minutes, interval = 1 minute.
});
function checkActivity(timeout, interval, elapsed) {
if ($.active) {
elapsed = 0;
$.active = false;
$.get('heartbeat');
}
if (elapsed < timeout) {
elapsed += interval;
setTimeout(function() {
checkActivity(timeout, interval, elapsed);
}, interval);
} else {
window.location = 'http://example.com/expired'; // Redirect to "session expired" page.
}
}
</script>
은 기본적으로 그냥 다음
/heartbeat
에서 수신하고 수행하는
Servlet
만들기 :
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
request.getSession();
}
살아 세션을 유지하기 위해.
+0
실제로 가장 좋은 답변 중 하나는 +1000이어야합니다. –
관련 문제
- 1. Zend_Auth의 세션 만료시 새 페이지로 리디렉션
- 2. Ajax 호출에서 세션 만료시 포스트 백
- 3. GXT : 세션 만료시 로그인 페이지를 가져 오는 방법
- 4. 세션 리디렉션
- 5. 페이지를 자동으로 리디렉션
- 6. 스프링 3의 기본 객체 mvc 세션 만료시 SessionAttributes
- 7. 줄무늬 - 리디렉션, 만료 세션
- 8. JCS가 만료시 통지/
- 9. 캐시 만료시 파일 쓰기
- 10. 자동으로 웹 사이트를 리디렉션 하시겠습니까?
- 11. 리디렉션 후 세션 변수가 손실됩니다.
- 12. 이상한 리디렉션 및 세션 동작
- 13. 세션 및 리디렉션 문제 PHP
- 14. 세션 제한 시간 리디렉션 실버
- 15. HTTPS에서 HTTPS로 리디렉션 세션 문제
- 16. PHP 세션 : 세션 Unserialize() 후 자동으로 재설정되는 변수
- 17. 심지어 자기와 함께, 객체는 여전히 자동으로 리디렉션
- 18. IIS 7 응용 프로그램이 자동으로 리디렉션
- 19. 가 자동으로 웹 사이트 홈 페이지로 리디렉션
- 20. 조건을 확인하고 자동으로 링크 html로 리디렉션
- 21. 아이폰 웹 응용 프로그램은 자동으로 앱에 리디렉션
- 22. 게시/리디렉션/모델 얻기 - 세션 및 보안
- 23. 페이지 ASP.Net MVC에서 세션 종료시 리디렉션
- 24. 리디렉션 Silverlight 로그인 페이지 시간 초과 세션
- 25. 세션 확인의 일부 조건에서 로그인 페이지로 리디렉션
- 26. ASP.Net에서 클라이언트 측 세션 시간 초과 리디렉션
- 27. 헤더 리디렉션 및 세션 시작() 오류 발생
- 28. 세션/쿠키가 설정되지 않음 (게시, 리디렉션)
- 29. 만료 된 세션 리디렉션 Tapestry 4
- 30. 리디렉션()을 사용할 때 세션 ID가 변경됨
페이지 특정 시간 초과입니까 아니면 일반 세션 시간 초과입니까? I.E. 누군가가 페이지에 착륙 한 순간부터 타이머를 시작하거나 세션이 만들어지면 타이머를 시작합니까? ajax를 사용하여 서버를 핑 (ping)하여 확인할 수 있습니다. 또는 페이지마다 페이지 당 메타 새로 고침 시간을 설정 하시겠습니까? – Alex
내가 아약스를 부를 때마다 타이머와 Ajax 함수를 서버에 호출하면 세션이 다시 생성됩니다. ..? 세션을 다시 생성하지 않고 세션 변수에 액세스하는 방법은 무엇입니까? – SSN
세션을 처음 시작할 때 세션 변수를 만들면 session_start()를 호출하여 언제든지이 변수 타이머를 확인할 수 있습니다. 그리고 나서 $ _SESSION [ 'timer']을 검사한다. 타이머를 재설정하지 않으면 타이머가 재설정되지 않습니다. – Alex