public class DelegatingAuthenticationEntryPoint extends java.lang.Object implements AuthenticationEntryPoint, org.springframework.beans.factory.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(java.util.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(java.util.LinkedHashMap<RequestMatcher,AuthenticationEntryPoint> entryPoints)
public void commence(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
AuthenticationException authException)
throws java.io.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 AuthenticationEntryPointrequest - that resulted in an AuthenticationExceptionresponse - so that the user agent can begin authenticationauthException - that caused the invocationjava.io.IOExceptionjavax.servlet.ServletExceptionpublic void setDefaultEntryPoint(AuthenticationEntryPoint defaultEntryPoint)
public void afterPropertiesSet()
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean