La redirección de autorización al expirar la sesión no funciona al enviar un formulario JSF, la página permanece igual

Estoy usando JSF2. He implementado un servlet de caras personalizadas así:

public class MyFacesServletWrapper extends MyFacesServlet {
    // ...
}

donde estoy haciendo algunas verificaciones de autorización y enviando una redirección cuando el usuario no está conectado:

public void service(ServletRequest request, ServletResponse response) {
    HttpServletRequest req = (HttpServletRequest) request;
    HttpServletResponse res = (HttpServletResponse) response;

    if (...) {
        String loginURL = req.getContextPath() + "/LoginPage.faces";
        res.sendRedirect(loginURL);
    }
}

Esto funciona cuando el usuario intenta navegar a otra página. Sin embargo, esto no funciona cuando se envía un formulario JSF mediante un enlace / botón de comando JSF. La líneasendRedirect() la línea se golpea y ejecuta, no se ha lanzado ninguna excepción, pero el usuario permanece en la misma página. Básicamente, no hay ningún cambio visual en absoluto.

¿Por qué funciona esto en la navegación de la página, pero no en el envío de formularios?

Respuestas a la pregunta(2)

Su respuesta a la pregunta