protected String getPreAuthenticatedPrincipal(HttpServletRequest request) { String principal = super.getPreAuthenticatedPrincipal(request); HttpSession session = request.getSession(false); if (principal!=null && session!=null) { session.setAttribute(GeoServerCasConstants.CAS_ASSERTION_KEY, request.getAttribute(GeoServerCasConstants.CAS_ASSERTION_KEY)); request.removeAttribute(GeoServerCasConstants.CAS_ASSERTION_KEY); getHandler().recordSession(request); } if (principal==null) { request.removeAttribute(GeoServerCasConstants.CAS_ASSERTION_KEY); } return principal; }
public void doFilter(final ServletRequest servletRequest, final ServletResponse servletResponse, final FilterChain filterChain) throws IOException, ServletException { final HttpServletRequest request = (HttpServletRequest) servletRequest; if (handler.isTokenRequest(request)) { handler.recordSession(request); } else if (handler.isLogoutRequest(request)) { handler.destroySession(request); // Do not continue up filter chain return; } else { log.trace("Ignoring URI " + request.getRequestURI()); } filterChain.doFilter(servletRequest, servletResponse); }
/** * Process a request regarding the SLO process: record the session or destroy it. * * @param request the incoming HTTP request. * @param response the HTTP response. * @return if the request should continue to be processed. */ public boolean process(final HttpServletRequest request, final HttpServletResponse response) { if (isTokenRequest(request)) { logger.trace("Received a token request"); recordSession(request); return true; } if (isLogoutRequest(request)) { logger.trace("Received a logout request"); destroySession(request); return false; } logger.trace("Ignoring URI for logout: {}", request.getRequestURI()); return true; }
getHandler().recordSession(httpReq); if (LOGGER.isLoggable(Level.INFO)) LOGGER.info("Record HTTP Session "+session.getId()+ " for CAS single sign out");