2011-03-08 7 views
0

로그인 페이지를 opend하고 내 이메일 및 비밀번호와 연결 한 상태에서 diconnected 페이지에 로그인 할 때 여기에 gud 로그인 페이지로 갈 예정이며 브라우저에서 뒤로 버튼을 눌러야합니다. 다시 메인 페이지로 이동하십시오.java/jsf 리디렉션 페이지

session.invalidate()를 사용하여 세션을 삭제했지만 로그인 할 수 있도록 페이지를 재검색 할 수 없습니다.

+0

페이지를 새로 고친 후에도 기본 페이지가 보이나요? 어떤 종류의 인증을 사용합니까 : 컨테이너 기반 또는 응용 프로그램 기반입니까? –

+0

예, 페이지를 새로 고칠 때도 내 메인 페이지로 이동합니다. –

+0

나는 응용 프로그램 기반 인증을 사용하고 있습니다. –

답변

1

페이지가 캐시되어 있기 때문입니다.

HttpServletResponse hsr = (HttpServletResponse) response; 
hsr.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1. 
hsr.setHeader("Pragma", "no-cache"); // HTTP 1.0. 
hsr.setDateHeader("Expires", 0); // Proxies. 
chain.doFilter(request, response); 
0

돌아 가기 버튼 브라우저 캐시에서 HTML 페이지를 제공 응답에 다음과 같은 헤더를 설정하는 필터를 만듭니다. 당신은 그것을 통제 할 수 없습니다. 그러나 인증 관리가 인증 된 사용자를 요구하는 기능을 사용하지 못하게해야합니다.

그러나 "no-cache"는 헤더입니다. 그러나 나는 을 강력히 추천한다.. 방법을 참조하십시오 :

response.setHeader("Cache-Control","no-cache");