クラス 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
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明voidprotected StringSEbuildHttpsRedirectUrlForRequest(jakarta.servlet.http.HttpServletRequest request) 指定されたリクエストを HTTPS にリダイレクトする URL を作成します。protected StringSEbuildRedirectUrlToLoginPage(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, AuthenticationException authException) voidcommence(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, AuthenticationException authException) ログインフォーム URL へのリダイレクト(または転送)を実行します。protected StringSEdetermineUrlToUseForThisRequest(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, AuthenticationException exception) サブクラスが、特定のリクエストに適用できるログインフォーム URL を変更できるようにします。protected PortMapperprotected PortResolver非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。protected booleanprotected booleanvoidsetFavorRelativeUris(boolean favorRelativeUris) リダイレクトを作成するときは、相対 URI を使用することをお勧めします。voidsetForceHttps(boolean forceHttps) true に設定すると、ログインフォームへのアクセスが https 経由になります。voidsetPortMapper(PortMapper portMapper) voidsetPortResolver(PortResolver portResolver) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。voidsetUseForward(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- 呼び出しの原因となった例外- 例外:
IOExceptionSEjakarta.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 にリダイレクトするために使用されます。- 例外:
IOExceptionSEjakarta.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
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。getPortResolver
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。setUseForward
public void setUseForward(boolean useForward) 302 リダイレクトの代わりにRequestDispatcherを使用してloginFormUrlに転送するかどうかを指示します。- パラメーター:
useForward- ログインページへの転送を使用する必要がある場合は true。loginFormUrlが絶対値に設定されている場合、false(デフォルト)でなければなりません。
isUseForward
protected boolean isUseForward()setFavorRelativeUris
public void setFavorRelativeUris(boolean favorRelativeUris) リダイレクトを作成するときは、相対 URI を使用することをお勧めします。相対リダイレクトは常に可能であるとは限らないことに注意してください。例:
httpからhttpsにリダイレクトする場合、URL は絶対である必要があります。- パラメーター:
favorRelativeUris- 相対 URI を優先するかどうか- 導入:
- 6.5