을 로그 아웃 할 때 나는 각 요청에 대해 캐시를 지우려면 다음 필터 한 아래 로그 아웃 방법SpringMVC - 캐시를 삭제하는 방법에만 사용자가 현재
public class CacheControlFilter implements Filter {
private static final Logger logger = Logger.getLogger(CacheControlFilter.class);
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletResponse resp = (HttpServletResponse) response;
resp.setDateHeader("Expires", 0);
resp.setHeader("Last-Modified", new Date().toString());
resp.setHeader("Cache-Control", "no-store, no-cache, must-revalidate, max-age=0, post-check=0, pre-check=0");
resp.setHeader("Pragma", "no-cache");
resp.setHeader("X-Content-Type-Options", "nosniff");
resp.setHeader("X-Frame-Options", "DENY");
chain.doFilter(request, response);
}
찾아주세요 :
@RequestMapping(value = "/logout", method = RequestMethod.GET)
public String logout(ModelMap model, HttpServletRequest request) {
SecurityContextHolder.clearContext();
request.getSession().invalidate();
return Constants.LOGOUT;
}
이 있습니까 각 요청 대신 사용자가 로그 아웃 할 때 캐시를 지우는 방법? 정적 파일 (css 파일, js 파일)을 캐시에 저장하고 사용자가 로그 아웃 할 때만 지우길 원합니다.
모든 조언을 환영합니다.
감사
캐시? 'CacheControlFilter'는 아무것도 지우지 않습니다. – zeroflagL
web.xml에서 경로가/logout 인 경우에만 필터를 실행하도록 지정할 수 있습니다. – Eric
응답 헤더 캐시가 지워졌습니다 – user1999453