public class DelegatingAuthenticationEntryPoint extends Object implements AuthenticationEntryPoint, InitializingBean
AuthenticationEntryPoint
which selects a concrete AuthenticationEntryPoint
based on a
RequestMatcher
evaluation.
A configuration might look like this:
<bean id="daep" class="org.springframework.security.web.authentication.DelegatingAuthenticationEntryPoint"> <constructor-arg> <map> <entry key="hasIpAddress('192.168.1.0/24') and hasHeader('User-Agent','Mozilla')" value-ref="firstAEP" /> <entry key="hasHeader('User-Agent','MSIE')" value-ref="secondAEP" /> </map> </constructor-arg> <property name="defaultEntryPoint" ref="defaultAEP"/> </bean>This example uses the
RequestMatcherEditor
which creates a ELRequestMatcher
instances for the map
keys.Constructor and Description |
---|
DelegatingAuthenticationEntryPoint(LinkedHashMap<RequestMatcher,AuthenticationEntryPoint> entryPoints) |
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet() |
void |
commence(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
AuthenticationException authException)
Commences an authentication scheme.
|
void |
setDefaultEntryPoint(AuthenticationEntryPoint defaultEntryPoint)
EntryPoint which is used when no RequestMatcher returned true
|
public DelegatingAuthenticationEntryPoint(LinkedHashMap<RequestMatcher,AuthenticationEntryPoint> entryPoints)
public void commence(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, AuthenticationException authException) throws IOException, javax.servlet.ServletException
AuthenticationEntryPoint
ExceptionTranslationFilter
will populate the HttpSession
attribute named
AbstractAuthenticationProcessingFilter.SPRING_SECURITY_SAVED_REQUEST_KEY
with the requested target URL before
calling this method.
Implementations should modify the headers on the ServletResponse
as necessary to
commence the authentication process.
commence
in interface AuthenticationEntryPoint
request
- that resulted in an AuthenticationException
response
- so that the user agent can begin authenticationauthException
- that caused the invocationIOException
javax.servlet.ServletException
public void setDefaultEntryPoint(AuthenticationEntryPoint defaultEntryPoint)
public void afterPropertiesSet() throws Exception
afterPropertiesSet
in interface InitializingBean
Exception