jsf viewexpiredexception face-redirect не работает - PullRequest
1 голос
/ 25 февраля 2012

У меня есть фильтр, который, если сессия истекла, и метод POST, затем добавляет параметр URL-адреса перенаправления к URL-адресу и заставляет браузер не кэшировать страницу, чтобы избежать исключения viewExpiredException, но неработать, я все еще получаю это исключение.

Вот мой код:

                if ( "POST".equalsIgnoreCase(request.getMethod()) ) {
                        log.info("POST --> Evitar ViewExpiredException de JSF");
                        log.info("Hacer que el navegador no cachee la página");
                        response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
                        response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
                        response.setDateHeader("Expires", 0); // Proxies.
                        log.info("Redirigir a la página con el parámetro 'faces-redirect'");
                        String pagRedirect = anadirFacesRedirect(pagSolicitada);
                        log.info("Página con 'faces-redirect' = "+pagRedirect);
                        log.info("URI con 'faces-redirect' = "+request.getContextPath()+pagRedirect);
                        response.sendRedirect(request.getContextPath()+pagRedirect);
                        chain.doFilter(request, response);
                        return;
                }

Метод "anadirFacesRedirect" добавляет "Face-Redirect = True".Это работает нормально, я отлаживал и видел журналы и параметр sendRedirect в порядке.

Я поместил этот код в фильтр Spring Security.

Я не знаю, является ли этопроблема (из-за Spring Security), или в коде что-то не так?

Спасибо.

ОБНОВЛЕНИЕ: Я уже проверил, что это не такпроблема Spring Security, потому что я поместил ее в веб-фильтр, который выполняется после цепочки фильтров Spring Security, но он все еще не работает, он вызывает исключение viewExpiredException.

Почему это так?Я принудительно перенаправил и заставил браузер не использовать страницу кеша.

...