Class DelegatingAuthenticationEntryPoint

java.lang.Object
org.springframework.security.web.authentication.DelegatingAuthenticationEntryPoint
All Implemented Interfaces:
org.springframework.beans.factory.InitializingBean, AuthenticationEntryPoint

public class DelegatingAuthenticationEntryPoint extends 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
  • Constructor Details

  • Method Details

    • commence

      public void commence(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, AuthenticationException authException) throws IOException, jakarta.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:
      IOException
      jakarta.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