クラス LoginUrlAuthenticationEntryPoint
java.lang.ObjectSE
org.springframework.security.web.authentication.LoginUrlAuthenticationEntryPoint
- 実装されたすべてのインターフェース:
org.springframework.beans.factory.InitializingBean
,AuthenticationEntryPoint
public class LoginUrlAuthenticationEntryPoint
extends ObjectSE
implements AuthenticationEntryPoint, org.springframework.beans.factory.InitializingBean
ExceptionTranslationFilter
が UsernamePasswordAuthenticationFilter
を介してフォームログイン認証を開始するために使用します。 ログインフォームの場所を loginFormUrl
プロパティに保持し、それを使用してログインページへのリダイレクト URL を作成します。または、このプロパティに絶対 URL を設定し、それを排他的に使用することもできます。
相対 URL を使用する場合、forceHttps
プロパティを true に設定して、リソースに対する元のインターセプトリクエストが HTTP
プロトコルを使用した場合でも、ログインフォームに使用されるプロトコルを HTTPS
に強制できます。これが発生した場合、(HTTPS を介して)ログインに成功した後でも、元のリクエスト URL を介して元のリソースに HTTP としてアクセスされます。強制 HTTPS 機能を機能させるために、PortMapper
を調べて HTTP:HTTPS ペアを決定します。絶対 URL が使用されている場合、forceHttps
の値は効果がありません。
- 導入:
- 3.0
コンストラクターのサマリー
方法の概要
修飾子と型メソッド説明void
protected StringSE
buildHttpsRedirectUrlForRequest
(jakarta.servlet.http.HttpServletRequest request) 指定されたリクエストを HTTPS にリダイレクトする URL を作成します。protected StringSE
buildRedirectUrlToLoginPage
(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, AuthenticationException authException) void
commence
(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, AuthenticationException authException) ログインフォーム URL へのリダイレクト(または転送)を実行します。protected StringSE
determineUrlToUseForThisRequest
(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, AuthenticationException exception) サブクラスが、特定のリクエストに適用できるログインフォーム URL を変更できるようにします。protected PortMapper
protected PortResolver
protected boolean
protected boolean
void
setForceHttps
(boolean forceHttps) true に設定すると、ログインフォームへのアクセスが https 経由になります。void
setPortMapper
(PortMapper portMapper) void
setPortResolver
(PortResolver portResolver) void
setUseForward
(boolean useForward) 302 リダイレクトの代わりにRequestDispatcher
を使用してloginFormUrl
に転送するかどうかを指示します。
コンストラクターの詳細
LoginUrlAuthenticationEntryPoint
- パラメーター:
loginFormUrl
- ログインページが見つかる URL。web-app コンテキストパス(先頭の/
を含む)または絶対 URL のいずれかに相対的でなければなりません。
メソッドの詳細
afterPropertiesSet
public void afterPropertiesSet()- 次で指定:
- インターフェース
org.springframework.beans.factory.InitializingBean
のafterPropertiesSet
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 へのリダイレクト(または転送)を実行します。- 次で指定:
- インターフェース
AuthenticationEntryPoint
のcommence
- パラメーター:
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) ログインフォームへのアクセスを https 経由で強制するには、true に設定します。この値が true (デフォルトは false) で、インターセプターをトリガーした保護されたリソースに対する受信リクエストがまだhttps
でない場合、serverSideRedirect が true に設定されている場合でも、クライアントは最初に https URL にリダイレクトされます。isForceHttps
protected boolean isForceHttps()getLoginFormUrl
setPortMapper
getPortMapper
setPortResolver
getPortResolver
setUseForward
public void setUseForward(boolean useForward) 302 リダイレクトの代わりにRequestDispatcher
を使用してloginFormUrl
に転送するかどうかを指示します。- パラメーター:
useForward
- ログインページへの転送を使用する必要がある場合は true。loginFormUrl
が絶対値に設定されている場合、false(デフォルト)でなければなりません。
isUseForward
protected boolean isUseForward()