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.

Était-ce utile?

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:

Comment déconnecter du conteneur Java EE réussi sécurité

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   
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top