クラス DelegatingMissingAuthorityAccessDeniedHandler
java.lang.ObjectSE
org.springframework.security.web.access.DelegatingMissingAuthorityAccessDeniedHandler
- 実装されているすべてのインターフェース:
AccessDeniedHandler
public final class DelegatingMissingAuthorityAccessDeniedHandler
extends ObjectSE
implements AccessDeniedHandler
欠落している
GrantedAuthority に基づいて AuthenticationEntryPoint を適応させる AccessDeniedHandler。これらの権限は、AuthorizationDeniedException 内の AuthorityAuthorizationDecision で指定されます。 これは、AuthorizationManager が特定のリソースにアクセスするために必要な追加の権限を示す適応型認証シナリオに役立ちます。
たとえば、AuthorizationManager で、ホームページにアクセスするにはユーザーが FACTOR_OTT 権限を必要とすると指定されている場合、このハンドラーを次のように構成して、ワンタイムトークンログインページにリダイレクトできます。
AccessDeniedHandler handler = DelegatingMissingAuthorityAccessDeniedHandler.builder() .addEntryPointFor(new LoginUrlAuthenticationEntryPoint("/login"), GrantedAuthorities.FACTOR_OTT_AUTHORITY) .addEntryPointFor(new MyCustomEntryPoint(), GrantedAuthorities.FACTOR_PASSWORD_AUTHORITY) .build(); ネストされたクラスの要約
ネストされたクラス修飾子と型クラス説明static final class権限 / エントリポイントのペアのセットを構成するためのビルダーメソッドのサマリー
修飾子と型メソッド説明builder()voidhandle(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, AccessDeniedException denied) アクセス拒否エラーを処理します。voidsetDefaultAccessDeniedHandler(AccessDeniedHandler defaultAccessDeniedHandler) このハンドラーがサポートしていないAccessDeniedExceptionにはこのAccessDeniedHandlerを使用します。voidsetRequestCache(RequestCache requestCache) このRequestCacheを使用して、現在のリクエストを記憶します。
メソッドの詳細
handle
public void handle(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, AccessDeniedException denied) throws IOExceptionSE, jakarta.servlet.ServletException インターフェースからコピーされた説明:AccessDeniedHandlerアクセス拒否エラーを処理します。- 次で指定:
- インターフェース
AccessDeniedHandlerのhandle - パラメーター:
request-AccessDeniedExceptionが発生したリクエストresponse- ユーザーエージェントに障害を通知できるようにするためdenied- 呼び出しの原因となった例外- 例外:
IOExceptionSE- IOException が発生した場合jakarta.servlet.ServletException- ServletException の場合
setDefaultAccessDeniedHandler
このハンドラーがサポートしていないAccessDeniedExceptionには、このAccessDeniedHandlerを使用してください。デフォルトではAccessDeniedHandlerImplが使用されます。- パラメーター:
defaultAccessDeniedHandler- 使用するデフォルトのAccessDeniedHandler
setRequestCache
このRequestCacheを使用して、現在のリクエストを記憶します。Uses
NullRequestCacheby default- パラメーター:
requestCache- 使用するRequestCache
builder