저는 일주일 내내이 문제에 매달 렸습니다. 저는 제가 일하는 회사의 보안 정책을 충족시키기 위해이 애플리케이션을 수정해야한다는 사실에 짜증이났습니다. 어쨌든 ...기본 ASP 및 세션 시간 초과 - 세션 타이머를 추적합니까?
기본 ASP 웹 응용 프로그램에서 세션을 추적하려고합니다. 내 gobal.asa 파일의 session_onstart 하위 세션 변수뿐만 아니라 session.timeout을 설정할 수 있습니다. 그것은 잘 작동 :
Sub Session_OnStart
Session("LoggedOn") = true
Session.Timeout = 5
End Sub
다음, 한 페이지에 (이 문제에 대한 해결책을 테스트하기 위해), 나는 here에서 akiller의 솔루션을 구현했습니다.
session.asp
<%
Response.ContentType = "application/json"
If Session("LoggedOn") = true Then
Response.Write "{""loggedOn"": true}"
Else
Response.Write "{""loggedOn"": false}"
End If
%>
과 : 내가 전에 남은 시간을 확인하는 방법을 알 수 있습니다 무엇을해야하는지 이제
<script type="text/javascript">
$(document).ready(function() {
var checkLoggedOn = function() {
$.getJSON('session.asp', function (data) {
if (data.loggedOn = false){
alert(data.loggedOn);
//Need to get alert working when session time expires before redirect can be used.
//window.location.replace("http://stackoverflow.com");
}
});
};
// Call checkLoggedOn every x milliseconds
setInterval(checkLoggedOn, 30000);
});
</script>
을
나는 같이하는 코드를 수정하는 데 필요한 세션이 만료됩니다. Javascript 코드를 사용하여 클라이언트 측 위와 같은 검사기를 실행할 수 있지만 세션에 남아있는 시간은 서버에서 검사해야합니다 (클라이언트 측 세션의 해킹을 막기 위해).그래서 여기에 내가 달성하려고하는 마지막 단계가 있습니다.
- 트리거하거나 Session.Abandon 세션의 Global.asa에 의해 Session_OnEnd 이벤트 false로 (서버 측)
- 세션 설정 ("LoggedOn")는
- session.asp가 거짓으로 리턴 만료 결과
- 이동해야하는 사용자를 리디렉션합니다.
감사합니다,
닉
그 대답은 당신이 다른 세션 값을 사용하여'DateAdd ("n", Session.Timeout, Now())를 저장하는 솔루션을 제공하는 답을 읽었습니까? 세션이 만료되어야 할 때 정확히 알려줍니다. – Lankymart