Pregunta

Tengo una WebApplication fue de 6,1 en el uso de JAAS que ya están trabajando. Autentica y autoriza de manera ordenada. Pero mi página de cierre de sesión no está retirada de la autorización del director. Esta aplicación funciona correctamente en una JBoss en glasfish pero no estaba en marcha.

Mi página de salida es sólo un simple JSP con este contenido.

<%System.out.println("principal is not null:"+(null != request.getUserPrincipal()));

if (null != request.getSession(false))
request.getSession(false).invalidate();
%><jsp:include page="/index.html" />

Me estoy perdiendo algo? Me preffer no utilizar ningún API específica de Webpshere pero si es absolutamente necesario lo haré.

¿Fue útil?

Solución

Para cerrar la sesión con éxito también es necesario este fragmento de código:

try {
        com.ibm.websphere.security.WSSecurityHelper.revokeSSOCookies(request, response);
     } catch(Exception e) {
        // catch all possible exceptions if you want or handle them separately
        out.println("JAASLogoutServlet: logout Exception = " + e.getMessage());
        throw new ServletException(e);
}

Otros consejos

IBM también implementa una forma llamada ibm_security_logout. He estado usando en WebSphere 7.0, pero existe en la versión anterior. Puede encontrar más detalles mi respuesta a mi pregunta:

¿Cómo cierre de sesión del contenedor Java EE arreglé seguridad?

En WebSphere 8.5.5 (tal vez en las versiones anteriores, también) puede establecer la propiedad personalizada.

Seguridad -> Seguridad Global -> Propiedades personalizadas

com.ibm.ws.security.web.logoutOnHTTPSessionExpire=true   
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top