Class AuthorizationFilter
- java.lang.Object
-
- org.springframework.web.filter.GenericFilterBean
-
- org.springframework.web.filter.OncePerRequestFilter
-
- org.springframework.security.web.access.intercept.AuthorizationFilter
-
- All Implemented Interfaces:
javax.servlet.Filter
,org.springframework.beans.factory.Aware
,org.springframework.beans.factory.BeanNameAware
,org.springframework.beans.factory.DisposableBean
,org.springframework.beans.factory.InitializingBean
,org.springframework.context.EnvironmentAware
,org.springframework.core.env.EnvironmentCapable
,org.springframework.web.context.ServletContextAware
public class AuthorizationFilter extends org.springframework.web.filter.OncePerRequestFilter
An authorization filter that restricts access to the URL usingAuthorizationManager
.- Since:
- 5.5
-
-
Constructor Summary
Constructors Constructor Description AuthorizationFilter(AuthorizationManager<javax.servlet.http.HttpServletRequest> authorizationManager)
Creates an instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
doFilterInternal(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.FilterChain filterChain)
protected void
doFilterNestedErrorDispatch(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.FilterChain filterChain)
AuthorizationManager<javax.servlet.http.HttpServletRequest>
getAuthorizationManager()
Gets theAuthorizationManager
used by this filtervoid
setAuthorizationEventPublisher(AuthorizationEventPublisher eventPublisher)
Use thisAuthorizationEventPublisher
to publishAuthorizationDeniedEvent
s andAuthorizationGrantedEvent
s.void
setSecurityContextHolderStrategy(SecurityContextHolderStrategy securityContextHolderStrategy)
Sets theSecurityContextHolderStrategy
to use.void
setShouldFilterAllDispatcherTypes(boolean shouldFilterAllDispatcherTypes)
Sets whether to filter all dispatcher types.protected boolean
shouldNotFilterAsyncDispatch()
protected boolean
shouldNotFilterErrorDispatch()
-
Methods inherited from class org.springframework.web.filter.OncePerRequestFilter
doFilter, getAlreadyFilteredAttributeName, isAsyncDispatch, isAsyncStarted, shouldNotFilter
-
-
-
-
Constructor Detail
-
AuthorizationFilter
public AuthorizationFilter(AuthorizationManager<javax.servlet.http.HttpServletRequest> authorizationManager)
Creates an instance.- Parameters:
authorizationManager
- theAuthorizationManager
to use
-
-
Method Detail
-
doFilterInternal
protected void doFilterInternal(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.FilterChain filterChain) throws javax.servlet.ServletException, java.io.IOException
- Specified by:
doFilterInternal
in classorg.springframework.web.filter.OncePerRequestFilter
- Throws:
javax.servlet.ServletException
java.io.IOException
-
setSecurityContextHolderStrategy
public void setSecurityContextHolderStrategy(SecurityContextHolderStrategy securityContextHolderStrategy)
Sets theSecurityContextHolderStrategy
to use. The default action is to use theSecurityContextHolderStrategy
stored inSecurityContextHolder
.- Since:
- 5.8
-
doFilterNestedErrorDispatch
protected void doFilterNestedErrorDispatch(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.FilterChain filterChain) throws javax.servlet.ServletException, java.io.IOException
- Overrides:
doFilterNestedErrorDispatch
in classorg.springframework.web.filter.OncePerRequestFilter
- Throws:
javax.servlet.ServletException
java.io.IOException
-
shouldNotFilterAsyncDispatch
protected boolean shouldNotFilterAsyncDispatch()
- Overrides:
shouldNotFilterAsyncDispatch
in classorg.springframework.web.filter.OncePerRequestFilter
-
shouldNotFilterErrorDispatch
protected boolean shouldNotFilterErrorDispatch()
- Overrides:
shouldNotFilterErrorDispatch
in classorg.springframework.web.filter.OncePerRequestFilter
-
setAuthorizationEventPublisher
public void setAuthorizationEventPublisher(AuthorizationEventPublisher eventPublisher)
Use thisAuthorizationEventPublisher
to publishAuthorizationDeniedEvent
s andAuthorizationGrantedEvent
s.- Parameters:
eventPublisher
- theApplicationEventPublisher
to use- Since:
- 5.7
-
getAuthorizationManager
public AuthorizationManager<javax.servlet.http.HttpServletRequest> getAuthorizationManager()
Gets theAuthorizationManager
used by this filter- Returns:
- the
AuthorizationManager
-
setShouldFilterAllDispatcherTypes
public void setShouldFilterAllDispatcherTypes(boolean shouldFilterAllDispatcherTypes)
Sets whether to filter all dispatcher types.- Parameters:
shouldFilterAllDispatcherTypes
- should filter all dispatcher types. Default isfalse
- Since:
- 5.7
-
-