クラス LoginUrlAuthenticationEntryPoint

java.lang.ObjectSE
org.springframework.security.web.authentication.LoginUrlAuthenticationEntryPoint
実装されたすべてのインターフェース:
org.springframework.beans.factory.InitializingBeanAuthenticationEntryPoint

public class LoginUrlAuthenticationEntryPoint extends ObjectSE 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(StringSE loginFormUrl)
      パラメーター:
      loginFormUrl - ログインページが見つかる URL。web-app コンテキストパス(先頭の / を含む)または絶対 URL のいずれかに相対的でなければなりません。
  • メソッドの詳細

    • afterPropertiesSet

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

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

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

      protected StringSE buildRedirectUrlToLoginPage(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, AuthenticationException authException)
    • buildHttpsRedirectUrlForRequest

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

      public void setForceHttps(boolean forceHttps)
      true に設定すると、ログインフォームへのアクセスが https 経由になります。この値が true(デフォルトは false)で、インターセプターをトリガーした保護リソースへの受信リクエストが https でなかった場合、クライアントは serverSideRedirect true に設定されます。
    • isForceHttps

      protected boolean isForceHttps()
    • getLoginFormUrl

      public StringSE getLoginFormUrl()
    • setPortMapper

      public void setPortMapper(PortMapper portMapper)
    • getPortMapper

      protected PortMapper getPortMapper()
    • setPortResolver

      public void setPortResolver(PortResolver portResolver)
    • getPortResolver

      protected PortResolver getPortResolver()
    • setUseForward

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

      protected boolean isUseForward()