クラス AuthorizationFilter

java.lang.ObjectSE
org.springframework.web.filter.GenericFilterBean
org.springframework.security.web.access.intercept.AuthorizationFilter
実装されたすべてのインターフェース:
jakarta.servlet.Filterorg.springframework.beans.factory.Awareorg.springframework.beans.factory.BeanNameAwareorg.springframework.beans.factory.DisposableBeanorg.springframework.beans.factory.InitializingBeanorg.springframework.context.EnvironmentAwareorg.springframework.core.env.EnvironmentCapableorg.springframework.web.context.ServletContextAware

public class AuthorizationFilter extends org.springframework.web.filter.GenericFilterBean
AuthorizationManager を使用して URL へのアクセスを制限する認証フィルター。
導入:
5.5
  • コンストラクターの詳細

    • AuthorizationFilter

      public AuthorizationFilter(AuthorizationManager<jakarta.servlet.http.HttpServletRequest> authorizationManager)
      インスタンスを作成します。
      パラメーター:
      authorizationManager - 使用する AuthorizationManager
  • メソッドの詳細

    • doFilter

      public void doFilter(jakarta.servlet.ServletRequest servletRequest, jakarta.servlet.ServletResponse servletResponse, jakarta.servlet.FilterChain chain) throws jakarta.servlet.ServletException, IOExceptionSE
      例外:
      jakarta.servlet.ServletException
      IOExceptionSE
    • setSecurityContextHolderStrategy

      public void setSecurityContextHolderStrategy(SecurityContextHolderStrategy securityContextHolderStrategy)
      使用する SecurityContextHolderStrategy を設定します。デフォルトのアクションは、SecurityContextHolder に格納されている SecurityContextHolderStrategy を使用することです。
      導入:
      5.8
    • setAuthorizationEventPublisher

      public void setAuthorizationEventPublisher(AuthorizationEventPublisher eventPublisher)
      この AuthorizationEventPublisher を使用して、AuthorizationDeniedEvent および AuthorizationGrantedEvent を公開します。
      パラメーター:
      eventPublisher - 使用する ApplicationEventPublisher 
      導入:
      5.7
    • getAuthorizationManager

      public AuthorizationManager<jakarta.servlet.http.HttpServletRequest> getAuthorizationManager()
      このフィルターで使用される AuthorizationManager を取得します
      戻り値:
      AuthorizationManager
    • setShouldFilterAllDispatcherTypes

      @DeprecatedSE(since="6.1", forRemoval=true) public void setShouldFilterAllDispatcherTypes(boolean shouldFilterAllDispatcherTypes)
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      代わりに、DispatcherType へのアクセスを許可します。
       @Configuration
       @EnableWebSecurity
       public class SecurityConfig {
      
              @Bean
              public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
                      http
                              .authorizeHttpRequests((authorize) -> authorize
                                      .dispatcherTypeMatchers(DispatcherType.ERROR).permitAll()
                                      // ...
                              );
                      return http.build();
              }
       }
       
      すべてのディスパッチャー型をフィルタリングするかどうかを設定します。
      パラメーター:
      shouldFilterAllDispatcherTypes - すべてのディスパッチャー型をフィルタリングする必要があります。デフォルトは true です
      導入:
      5.7
    • isObserveOncePerRequest

      public boolean isObserveOncePerRequest()
    • setObserveOncePerRequest

      public void setObserveOncePerRequest(boolean observeOncePerRequest)
      このフィルターをリクエストごとに 1 回だけ適用するかどうかを設定します。デフォルトでは、これは false で、フィルターはリクエストごとに実行されることを意味します。JSP 転送が使用されており、含まれる HTTP リクエストの各フラグメントでフィルターセキュリティが必要な場合など、ユーザーはリクエストごとに複数回実行することを希望する場合があります。
      パラメーター:
      observeOncePerRequest - フィルターをリクエストごとに 1 回だけ適用するかどうか
    • setFilterErrorDispatch

      public void setFilterErrorDispatch(boolean filterErrorDispatch)
      true に設定すると、フィルターはエラーディスパッチャーに適用されます。デフォルトは true です。
      パラメーター:
      filterErrorDispatch - フィルターをエラーディスパッチャーに適用するかどうか
    • setFilterAsyncDispatch

      public void setFilterAsyncDispatch(boolean filterAsyncDispatch)
      true に設定すると、フィルターが非同期ディスパッチャーに適用されます。デフォルトは true です。
      パラメーター:
      filterAsyncDispatch - フィルターを非同期ディスパッチに適用するかどうか