Tomcat 7에 사용자 정보를 세션에 DTO 객체로 유지하는 웹 응용 프로그램이 있습니다. 또한 사용자가 세션이없는 경우 자동으로 사용자를 로그인 페이지로 리디렉션하는 프로젝트에 스프링 보안을 사용하도록 설정했습니다.Tomcat 세션 쿠키가 만료되지 않습니다.
내 응용 프로그램에 한 번 로그인 한 다음 Eclipse에서 Tomcat을 다시 시작하면 내 세션이 플러시되지만 쿠키가 이동하지 않는다는 것입니다.
이것은 서버를 다시 시작한 후에 세션에 UserDto가 없지만 유효한 JSESSIONID가 브라우저에 남아 있다는 것을 의미합니다. 따라서 스프링 보안은 실제로 사용자가 로그인하지 않은 경우 사용자가 로그인했다고 생각합니다.
왜 이런 일이 발생합니까? (Firefox에서 페이지 정보를보고 JSESSIONID 쿠키 유형을 확인했습니다. 즉, Expire: At end of session
입니다. 따라서 서버 재시작시 이상하게 만료되어야합니까? 그렇지 않습니다.)
편집 : Firefox가 Expire: At end of session
으로 표시되어 있지만 쿠키가 아직 남아 있습니다. Firefox를 종료했다가 다시 시작하면
에
cookie-config
을 추가 할 수 있습니다 쿠키에 날짜를 만료 추가 나는 좋은 대답을 기다리고 있었다 나는 하나 :)을 얻었다. 심지어 나는 조금 의심스러워서 대답하지 않았다. 하지만 당신의 대답은 그것을 명확히했습니다. –@Olaf 그래서 서버의 상태를 모르는 브라우저가 쿠키를 가지고 있기 때문에 쿠키가 삭제되지 않습니다. 그러나 서버가이 쿠키를 유효하지 않은 쿠키로 거부해서는 안됩니까? 스프링 보안이 요청을 로그인 페이지로 리디렉션하지 않는 이유는 무엇입니까? –
Firefox를 다시 시작하더라도 Btw 쿠키가 삭제되지 않습니다. –