クラス AuthorizationFilter
java.lang.ObjectSE
org.springframework.web.filter.GenericFilterBean
org.springframework.security.web.access.intercept.AuthorizationFilter
- 実装されたすべてのインターフェース:
jakarta.servlet.Filter
、org.springframework.beans.factory.Aware
、org.springframework.beans.factory.BeanNameAware
、org.springframework.beans.factory.DisposableBean
、org.springframework.beans.factory.InitializingBean
、org.springframework.context.EnvironmentAware
、org.springframework.core.env.EnvironmentCapable
、org.springframework.web.context.ServletContextAware
public class AuthorizationFilter
extends org.springframework.web.filter.GenericFilterBean
AuthorizationManager
を使用して URL へのアクセスを制限する認証フィルター。- 導入:
- 5.5
フィールドサマリー
クラス org.springframework.web.filter.GenericFilterBean から継承されたフィールド
logger
コンストラクターのサマリー
コンストラクター説明AuthorizationFilter
(AuthorizationManager<jakarta.servlet.http.HttpServletRequest> authorizationManager) インスタンスを作成します。メソッドのサマリー
修飾子と型メソッド説明void
doFilter
(jakarta.servlet.ServletRequest servletRequest, jakarta.servlet.ServletResponse servletResponse, jakarta.servlet.FilterChain chain) AuthorizationManager<jakarta.servlet.http.HttpServletRequest>
このフィルターで使用されるAuthorizationManager
を取得しますboolean
void
setAuthorizationEventPublisher
(AuthorizationEventPublisher eventPublisher) void
setFilterAsyncDispatch
(boolean filterAsyncDispatch) true に設定すると、フィルターが非同期ディスパッチャーに適用されます。void
setFilterErrorDispatch
(boolean filterErrorDispatch) true に設定すると、フィルターがエラーディスパッチャーに適用されます。void
setObserveOncePerRequest
(boolean observeOncePerRequest) このフィルターをリクエストごとに 1 回だけ適用するかどうかを設定します。void
setSecurityContextHolderStrategy
(SecurityContextHolderStrategy securityContextHolderStrategy) 使用するSecurityContextHolderStrategy
を設定します。void
setShouldFilterAllDispatcherTypes
(boolean shouldFilterAllDispatcherTypes) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。クラス org.springframework.web.filter.GenericFilterBean から継承されたメソッド
addRequiredProperty, afterPropertiesSet, createEnvironment, destroy, getEnvironment, getFilterConfig, getFilterName, getServletContext, init, initBeanWrapper, initFilterBean, setBeanName, setEnvironment, setServletContext
コンストラクターの詳細
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
- パラメーター:
eventPublisher
- 使用するApplicationEventPublisher
- 導入:
- 5.7
getAuthorizationManager
このフィルターで使用される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
- フィルターを非同期ディスパッチに適用するかどうか
DispatcherType
へのアクセスを許可します。