クラス LoginUrlAuthenticationEntryPoint

  • 実装されたすべてのインターフェース:
    org.springframework.beans.factory.InitializingBeanAuthenticationEntryPoint

    public class LoginUrlAuthenticationEntryPoint
    extends java.lang.Object
    implements AuthenticationEntryPoint, org.springframework.beans.factory.InitializingBean
    ExceptionTranslationFilterUsernamePasswordAuthenticationFilter を介してフォームログイン認証を開始するために使用します。

    ログインフォームの場所を loginFormUrl プロパティに保持し、それを使用してログインページへのリダイレクト URL を作成します。または、このプロパティに絶対 URL を設定し、それを排他的に使用することもできます。

    相対 URL を使用する場合、forceHttps プロパティを true に設定して、リソースに対する元のインターセプトリクエストが HTTP プロトコルを使用した場合でも、ログインフォームに使用されるプロトコルを HTTPS に強制できます。これが発生した場合、(HTTPS を介して)ログインに成功した後でも、元のリクエスト URL を介して元のリソースに HTTP としてアクセスされます。強制 HTTPS 機能を機能させるために、PortMapper を調べて HTTP:HTTPS ペアを決定します。絶対 URL が使用されている場合、forceHttps の値は効果がありません。

    導入:
    3.0
    • コンストラクターの詳細

      • LoginUrlAuthenticationEntryPoint

        public LoginUrlAuthenticationEntryPoint​(java.lang.String loginFormUrl)
        パラメーター:
        loginFormUrl - ログインページが見つかる URL。web-app コンテキストパス(先頭の / を含む)または絶対 URL のいずれかに相対的でなければなりません。
    • メソッドの詳細

      • afterPropertiesSet

        public void afterPropertiesSet()
        次で指定:
        インターフェース org.springframework.beans.factory.InitializingBeanafterPropertiesSet 
      • determineUrlToUseForThisRequest

        protected java.lang.String determineUrlToUseForThisRequest​(javax.servlet.http.HttpServletRequest request,
                                                                   javax.servlet.http.HttpServletResponse response,
                                                                   AuthenticationException exception)
        サブクラスが、特定のリクエストに適用できるログインフォーム URL を変更できるようにします。
        パラメーター:
        request - リクエスト
        response - レスポンス
        exception - 例外
        戻り値:
        URL (null または空にすることはできません。デフォルトは getLoginFormUrl() )
      • commence

        public void commence​(javax.servlet.http.HttpServletRequest request,
                             javax.servlet.http.HttpServletResponse response,
                             AuthenticationException authException)
                      throws java.io.IOException,
                             javax.servlet.ServletException
        ログインフォーム URL へのリダイレクト(または転送)を実行します。
        次で指定:
        インターフェース AuthenticationEntryPointcommence 
        パラメーター:
        request - AuthenticationException が発生したリクエスト
        response - ユーザーエージェントが認証を開始できるようにする
        authException - 呼び出しの原因となった例外
        例外:
        java.io.IOException
        javax.servlet.ServletException
      • buildRedirectUrlToLoginPage

        protected java.lang.String buildRedirectUrlToLoginPage​(javax.servlet.http.HttpServletRequest request,
                                                               javax.servlet.http.HttpServletResponse response,
                                                               AuthenticationException authException)
      • buildHttpsRedirectUrlForRequest

        protected java.lang.String buildHttpsRedirectUrlForRequest​(javax.servlet.http.HttpServletRequest request)
                                                            throws java.io.IOException,
                                                                   javax.servlet.ServletException
        指定されたリクエストを HTTPS にリダイレクトする URL を作成します。ログインページに転送する前に、現在のリクエストを HTTPS にリダイレクトするために使用されます。
        例外:
        java.io.IOException
        javax.servlet.ServletException
      • setForceHttps

        public void setForceHttps​(boolean forceHttps)
        ログインフォームへのアクセスを https 経由で強制するには、true に設定します。この値が true (デフォルトは false) で、インターセプターをトリガーした保護されたリソースに対する受信リクエストがまだ https でない場合、serverSideRedirecttrue に設定されている場合でも、クライアントは最初に https URL にリダイレクトされます。
      • isForceHttps

        protected boolean isForceHttps()
      • getLoginFormUrl

        public java.lang.String getLoginFormUrl()
      • setPortMapper

        public void setPortMapper​(PortMapper portMapper)
      • getPortMapper

        protected PortMapper getPortMapper()
      • setPortResolver

        public void setPortResolver​(PortResolver portResolver)
      • setUseForward

        public void setUseForward​(boolean useForward)
        302 リダイレクトの代わりに RequestDispatcher を使用して loginFormUrl に転送するかどうかを指示します。
        パラメーター:
        useForward - ログインページへの転送を使用する必要がある場合は true。loginFormUrl が絶対値に設定されている場合、false(デフォルト)でなければなりません。
      • isUseForward

        protected boolean isUseForward()