package org.apereo.cas.web.support; import org.apereo.cas.authentication.AuthenticationCredentialsLocalBinder; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import java.io.IOException; /** * Servlet Filter for clearing thread local state of current credentials and authentication at the end of request/response * processing cycle. * * @author Dmitriy Kopylenko * @since 5.0.0 */ public class AuthenticationCredentialsLocalBinderClearingFilter implements Filter { @Override public void doFilter(final ServletRequest servletRequest, final ServletResponse servletResponse, final FilterChain filterChain) throws IOException, ServletException { try { filterChain.doFilter(servletRequest, servletResponse); } finally { AuthenticationCredentialsLocalBinder.clear(); } } @Override public void init(final FilterConfig filterConfig) throws ServletException { //noop } @Override public void destroy() { //noop } }