added Adam's trace statements
This commit is contained in:
Scott Battaglia 2008-04-11 18:35:00 +00:00
parent 9f9686ee61
commit dbd1017a8a
1 changed files with 20 additions and 7 deletions

View File

@ -5,6 +5,8 @@
*/
package org.jasig.cas.client.session;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jasig.cas.client.util.AbstractConfigurationFilter;
import org.jasig.cas.client.util.CommonUtils;
import org.jasig.cas.client.util.XmlUtils;
@ -31,12 +33,12 @@ public final class SingleSignOutFilter extends AbstractConfigurationFilter {
* The name of the artifact parameter. This is used to capture the session identifier.
*/
private String artifactParameterName = "ticket";
private static SessionMappingStorage SESSION_MAPPING_STORAGE = new HashMapBackedSessionMappingStorage();
private static Log log = LogFactory.getLog(SingleSignOutFilter.class);
public void init(final FilterConfig filterConfig) throws ServletException {
setArtifactParameterName(getPropertyFromInitParams(filterConfig, "artifactParameterName", "ticket"));
init();
}
@ -56,15 +58,26 @@ public final class SingleSignOutFilter extends AbstractConfigurationFilter {
final String logoutRequest = request.getParameter("logoutRequest");
if (CommonUtils.isNotBlank(logoutRequest)) {
if (log.isTraceEnabled()) {
log.trace ("Logout request=[" + logoutRequest + "]");
}
final String sessionIdentifier = XmlUtils.getTextForElement(logoutRequest, "SessionIndex");
if (CommonUtils.isNotBlank(sessionIdentifier)) {
final HttpSession session = SESSION_MAPPING_STORAGE.removeSessionByMappingId(sessionIdentifier);
if (session != null) {
session.invalidate();
String sessionID = session.getId();
if (log.isTraceEnabled()) {
log.trace ("Invalidating session [" + sessionID + "] for ST [" + sessionIdentifier + "]");
}
session.invalidate();
}
return;
return;
}
}
} else {
@ -77,11 +90,11 @@ public final class SingleSignOutFilter extends AbstractConfigurationFilter {
filterChain.doFilter(servletRequest, servletResponse);
}
public void setSessionMappingStorage(final SessionMappingStorage storage) {
SESSION_MAPPING_STORAGE = storage;
}
public static SessionMappingStorage getSessionMappingStorage() {
return SESSION_MAPPING_STORAGE;
}