Class ClearSecurityContextFilter
- java.lang.Object
-
- jetbrains.buildServer.controllers.filters.ClearSecurityContextFilter
-
- All Implemented Interfaces:
javax.servlet.Filter
public class ClearSecurityContextFilter extends Object implements javax.servlet.Filter
This interceptor clears security context of any authority holders. AuthorityHolder is populated by authentication scheme, after successful authentication, permissions are checked and other interceptors are executed. After completion of request processing, security context is cleared, seeHandlerInterceptor.afterCompletion(HttpServletRequest, HttpServletResponse, Object, Exception)
andSkippableInterceptor.afterCompletion(HttpServletRequest, HttpServletResponse, Object, Exception)
) However, if one of the interceptors prevents interceptor chain to proceed (returnsfalse
inHandlerInterceptor.preHandle(HttpServletRequest, HttpServletResponse, Object)
) security context of current thread is not cleared and can affect other requests (seeAgentsLoadBalancer
andArtifactUploadController
) resulting in unavailability of running builds inRunningBuildsManager
Requests that represent includes or forwards should not be processed, as such requests will not be re-authenticated It is important for this interceptor to be first in chain
-
-
Constructor Summary
Constructors Constructor Description ClearSecurityContextFilter(SecurityContextEx securityContext)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
destroy()
void
doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain)
void
init(javax.servlet.FilterConfig filterConfig)
-
-
-
Constructor Detail
-
ClearSecurityContextFilter
public ClearSecurityContextFilter(@NotNull SecurityContextEx securityContext)
-
-
Method Detail
-
doFilter
public void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain) throws IOException, javax.servlet.ServletException
- Specified by:
doFilter
in interfacejavax.servlet.Filter
- Throws:
IOException
javax.servlet.ServletException
-
init
public void init(javax.servlet.FilterConfig filterConfig)
- Specified by:
init
in interfacejavax.servlet.Filter
-
destroy
public void destroy()
- Specified by:
destroy
in interfacejavax.servlet.Filter
-
-