Websphere 6.1 JAAS Logout
Frage
ich eine WebApplication haben auf WAS 6.1 mit JAAS bereits arbeiten. Authentifiziert und autorisiert in einer geordneten Art und Weise. Aber meine Logout-Seite ist das Haupt nicht das Deaktivieren. Diese Anwendung funktioniert korrekt auf JBoss eines auf Glasfish aber nicht eingeschaltet war.
Meine Logout-Seite ist nur eine einfache JSP mit diesem Inhalt.
<%System.out.println("principal is not null:"+(null != request.getUserPrincipal()));
if (null != request.getSession(false))
request.getSession(false).invalidate();
%><jsp:include page="/index.html" />
Bin ich etwas fehlt? Ich würde preffer keine spezifische API von Webpshere zu verwenden, aber wenn es unbedingt erforderlich ist, werde ich.
Lösung
Um erfolgreich logout dieser Code-Schnipsel ist ebenfalls erforderlich:
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);
}
Andere Tipps
IBM implementiert auch ein Formular mit dem Namen ibm_security_logout. Ich habe es auf Websphere 7.0 verwenden, aber es existiert in früheren Version. Sie können mehr Details meine Antwort auf meine Frage finden:
Wie abzumelden ich von Java EE Container verwaltet Sicherheit?
Auf WebSphere 8.5.5 (möglicherweise in älteren Versionen auch) können Sie benutzerdefinierte Eigenschaft festgelegt.
Sicherheit -> Globale Sicherheit -> Benutzerdefinierte Eigenschaften
com.ibm.ws.security.web.logoutOnHTTPSessionExpire=true