Class DigestAuthenticationEntryPoint

java.lang.Object
org.springframework.security.web.authentication.www.DigestAuthenticationEntryPoint
All Implemented Interfaces:
org.springframework.beans.factory.InitializingBean, org.springframework.core.Ordered, AuthenticationEntryPoint

public class DigestAuthenticationEntryPoint extends Object implements AuthenticationEntryPoint, org.springframework.beans.factory.InitializingBean, org.springframework.core.Ordered
Used by the SecurityEnforcementFilter to commence authentication via the DigestAuthenticationFilter.

The nonce sent back to the user agent will be valid for the period indicated by setNonceValiditySeconds(int). By default this is 300 seconds. Shorter times should be used if replay attacks are a major concern. Larger values can be used if performance is a greater concern. This class correctly presents the stale=true header when the nonce has expired, so properly implemented user agents will automatically renegotiate with a new nonce value (i.e. without presenting a new password dialog box to the user).

  • Constructor Details

    • DigestAuthenticationEntryPoint

      public DigestAuthenticationEntryPoint()
  • Method Details

    • getOrder

      public int getOrder()
      Specified by:
      getOrder in interface org.springframework.core.Ordered
    • setOrder

      public void setOrder(int order)
    • afterPropertiesSet

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

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

      public String getKey()
    • getNonceValiditySeconds

      public int getNonceValiditySeconds()
    • getRealmName

      public String getRealmName()
    • setKey

      public void setKey(String key)
    • setNonceValiditySeconds

      public void setNonceValiditySeconds(int nonceValiditySeconds)
    • setRealmName

      public void setRealmName(String realmName)