Class DelegatingAuthenticationEntryPoint

  • All Implemented Interfaces:
    org.springframework.beans.factory.InitializingBean, AuthenticationEntryPoint

    public class DelegatingAuthenticationEntryPoint
    extends java.lang.Object
    implements AuthenticationEntryPoint, org.springframework.beans.factory.InitializingBean
    An 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.
    Since:
    3.0.2
    • Method Detail

      • commence

        public void commence​(javax.servlet.http.HttpServletRequest request,
                             javax.servlet.http.HttpServletResponse response,
                             AuthenticationException authException)
                      throws java.io.IOException,
                             javax.servlet.ServletException
        Description copied from interface: AuthenticationEntryPoint
        Commences an authentication scheme.

        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.

        Specified by:
        commence in interface AuthenticationEntryPoint
        Parameters:
        request - that resulted in an AuthenticationException
        response - so that the user agent can begin authentication
        authException - that caused the invocation
        Throws:
        java.io.IOException
        javax.servlet.ServletException
      • setDefaultEntryPoint

        public void setDefaultEntryPoint​(AuthenticationEntryPoint defaultEntryPoint)
        EntryPoint which is used when no RequestMatcher returned true
      • afterPropertiesSet

        public void afterPropertiesSet()
        Specified by:
        afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean