Websphere 6.1 JAAS Déconnexion
Question
J'ai un WebApplication sur WAS 6.1 en utilisant JAAS fonctionne déjà. Authentifie et autorise de manière ordonnée. Mais ma page n'est pas fermeture de session principale du retrait d'autorisation. Cette application fonctionne correctement sur JBoss une sur Glasfish mais pas sur WAS.
Ma page est juste une fermeture de session JSP simple avec ce contenu.
<%System.out.println("principal is not null:"+(null != request.getUserPrincipal()));
if (null != request.getSession(false))
request.getSession(false).invalidate();
%><jsp:include page="/index.html" />
Est-ce que je manque quelque chose? Je preffer de ne pas utiliser une API spécifique Webpshere mais si elle est absolument nécessaire, je le ferai.
La solution
Pour ce succès fermeture de session extrait de code est également nécessaire:
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);
}
Autres conseils
IBM met également en œuvre une forme appelée ibm_security_logout. Je l'ai utilisé sur Websphere 7.0, mais il existe dans la version précédente. Vous pouvez trouver plus de détails ma réponse à ma question:
Sur WebSphere 8.5.5 (peut-être dans les anciennes versions, aussi), vous pouvez définir la propriété personnalisée.
Sécurité -> Sécurité globale -> Propriétés personnalisées
com.ibm.ws.security.web.logoutOnHTTPSessionExpire=true