クラス RememberMeAuthenticationFilter

  • 実装されたすべてのインターフェース:
    javax.servlet.Filterorg.springframework.beans.factory.Awareorg.springframework.beans.factory.BeanNameAwareorg.springframework.beans.factory.DisposableBeanorg.springframework.beans.factory.InitializingBeanorg.springframework.context.ApplicationEventPublisherAwareorg.springframework.context.EnvironmentAwareorg.springframework.core.env.EnvironmentCapableorg.springframework.web.context.ServletContextAware

    public class RememberMeAuthenticationFilter
    extends org.springframework.web.filter.GenericFilterBean
    implements org.springframework.context.ApplicationEventPublisherAware
    SecurityContext に Authentication オブジェクトがないかどうかを検出し、RememberMeServices 実装がリクエストした場合は、コンテキストに記憶記憶認証トークンを設定します。

    具体的な RememberMeServices 実装では、RememberMeServices.autoLogin(HttpServletRequest, HttpServletResponse) メソッドがこのフィルターによって呼び出されます。このメソッドが null 以外の Authentication オブジェクトを返す場合、オブジェクトは AuthenticationManager に渡されるため、認証固有の動作を実現できます。結果の Authentication (成功した場合)は SecurityContext に配置されます。

    認証が成功すると、InteractiveAuthenticationSuccessEvent がアプリケーションコンテキストに発行されます。認証が失敗した場合、イベントは公開されません。これは通常、AuthenticationManager -specific アプリケーションイベントを介して記録されるためです。

    通常、認証が成功したか失敗したかに関係なく、リクエストは続行できます。認証済みユーザーの宛先を制御する必要がある場合は、AuthenticationSuccessHandler を挿入できます

    • フィールドサマリー

      • クラス org.springframework.web.filter.GenericFilterBean から継承されたフィールド

        logger
    • メソッドのサマリー

      すべてのメソッド   インスタンスメソッド   具象メソッド  
      修飾子と型 メソッド 説明
      voidafterPropertiesSet()
      voiddoFilter​(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain)
      RememberMeServicesgetRememberMeServices()
      protected voidonSuccessfulAuthentication​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Authentication authResult)
      記憶記憶トークンが提示され、RememberMeServicesautoLogin メソッドおよび AuthenticationManager によって正常に認証された場合に呼び出されます。
      protected voidonUnsuccessfulAuthentication​(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, AuthenticationException failed)
      AuthenticationManager が RememberMeServicesautoLogin メソッドから返された認証オブジェクトを拒否した場合に呼び出されます。
      voidsetApplicationEventPublisher​(org.springframework.context.ApplicationEventPublisher eventPublisher)
      voidsetAuthenticationSuccessHandler​(AuthenticationSuccessHandler successHandler)
      認証に成功したときに記憶されたユーザーが送信される宛先を制御できます。
      voidsetSecurityContextRepository​(SecurityContextRepository securityContextRepository)
      認証が成功したときに SecurityContext を保存するように SecurityContextRepository を設定します。
      • クラス org.springframework.web.filter.GenericFilterBean から継承されたメソッド

        addRequiredProperty, createEnvironment, destroy, getEnvironment, getFilterConfig, getFilterName, getServletContext, init, initBeanWrapper, initFilterBean, setBeanName, setEnvironment, setServletContext
      • クラス java.lang.Object から継承されたメソッド

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • メソッドの詳細

      • afterPropertiesSet

        public void afterPropertiesSet()
        次で指定:
        インターフェース org.springframework.beans.factory.InitializingBeanafterPropertiesSet 
        オーバーライド:
        クラス org.springframework.web.filter.GenericFilterBeanafterPropertiesSet 
      • doFilter

        public void doFilter​(javax.servlet.ServletRequest request,
                             javax.servlet.ServletResponse response,
                             javax.servlet.FilterChain chain)
                      throws java.io.IOException,
                             javax.servlet.ServletException
        次で指定:
        インターフェース javax.servlet.FilterdoFilter 
        例外:
        java.io.IOException
        javax.servlet.ServletException
      • onSuccessfulAuthentication

        protected void onSuccessfulAuthentication​(javax.servlet.http.HttpServletRequest request,
                                                  javax.servlet.http.HttpServletResponse response,
                                                  Authentication authResult)
        記憶記憶トークンが提示され、RememberMeServicesautoLogin メソッドおよび AuthenticationManager によって正常に認証された場合に呼び出されます。
      • onUnsuccessfulAuthentication

        protected void onUnsuccessfulAuthentication​(javax.servlet.http.HttpServletRequest request,
                                                    javax.servlet.http.HttpServletResponse response,
                                                    AuthenticationException failed)
        AuthenticationManager が RememberMeServicesautoLogin メソッドから返された認証オブジェクトを拒否した場合に呼び出されます。このメソッドは、remember-me トークンがリクエストに存在せず、autoLogin が null を返す場合は呼び出されません。
      • setApplicationEventPublisher

        public void setApplicationEventPublisher​(org.springframework.context.ApplicationEventPublisher eventPublisher)
        次で指定:
        インターフェース org.springframework.context.ApplicationEventPublisherAwaresetApplicationEventPublisher 
      • setAuthenticationSuccessHandler

        public void setAuthenticationSuccessHandler​(AuthenticationSuccessHandler successHandler)
        認証に成功したときに記憶されたユーザーの送信先を制御できます。デフォルトでは、フィルターは現在のリクエストの続行のみを許可しますが、AuthenticationSuccessHandler が設定されている場合、それが呼び出され、doFilter() メソッドがすぐに返されるため、元のアプリケーションに関係なく、アプリケーションはユーザーを特定の URL にリダイレクトできます。リクエストがあった。
        パラメーター:
        successHandler - doFilter() から戻る直前に呼び出す戦略。