2012-01-19 6 views
0

Tomcat 6.0의 기본 설치가 있고 세션 변수에 정보를 저장하는 앱이 있습니다.몇 초 후에 세션이 변경됩니다. Java Servlets

짧은 시간 동안 사용하지 않으면 내 세션이 무효화 된 것으로 보입니다. 몇 초마다 다른 페이지로 이동하는 한 세션 데이터가 있습니다.하지만 약 30 분 동안 클릭을 중지하면 브라우저에 저장되는 세션 ID가 변경됩니다. (Firebug를 사용하여이를 확인했으며 IE8에서 내 브라우저와 동일한 동작을 봅니다.)

왜 이런 일이 벌어 질 수 있습니까? 내 애플 리케이션을위한 web.xml은 30 분 세션을 지정하고, session.setMaxInactiveInterval(60)으로 전화를 걸어 변경된 사항을 확인했지만 그렇지는 않습니다.

정신 검사 :

내 웹 응용 프로그램의 web.xml은 다음과 같이 시작합니다

<?xml version="1.0" encoding="utf-8"?> 
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd" 
    version="2.5"> 
    <session-config> 
    <session-timeout>30</session-timeout> 
    </session-config> 

내 서버의 web.xml이 라인이 포함

<session-config> 
    <session-timeout>30</session-timeout> 
</session-config> 

답변

1

따르면 this에를, 방법을 당신은 분이 아닌 초 단위로 입력을 사용하므로 상황을 악화시킬 수 있습니다.

나머지는 web.xml 조각이 정상적으로 보이기 때문에 세션을 사용하는 코드에 대해 생각해 보겠습니다.

+0

돈을 썼습니다. 서브 클래 싱하는 서블릿 중 하나가 그것을 수행하는 것입니다. – bdares

0

Tomcat 6의 최신 버전에는 로그인 후 세션 ID를 변경하는 "Session Fixation"이라는 기능이 있습니다.

관련 문제