クラス WebSecurity
java.lang.ObjectSE
org.springframework.security.config.annotation.AbstractSecurityBuilder<O>
org.springframework.security.config.annotation.AbstractConfiguredSecurityBuilder<jakarta.servlet.Filter,WebSecurity>
org.springframework.security.config.annotation.web.builders.WebSecurity
- 実装されたすべてのインターフェース:
org.springframework.beans.factory.Aware
、org.springframework.context.ApplicationContextAware
、SecurityBuilder<jakarta.servlet.Filter>
、org.springframework.web.context.ServletContextAware
public final class WebSecurity
extends AbstractConfiguredSecurityBuilder<jakarta.servlet.Filter,WebSecurity>
implements SecurityBuilder<jakarta.servlet.Filter>, org.springframework.context.ApplicationContextAware, org.springframework.web.context.ServletContextAware
WebSecurity
は WebSecurityConfiguration
によって作成され、Spring Security フィルターチェーン(springSecurityFilterChain)として知られる FilterChainProxy
を作成します。springSecurityFilterChain は、DelegatingFilterProxy
が委譲する Filter
です。
WebSecurity
のカスタマイズは、WebSecurityConfigurer
を作成するか、WebSecurityCustomizer
Bean を公開することによって行うことができます。
- 導入:
- 3.2
- 関連事項:
ネストされたクラスのサマリー
ネストされたクラスコンストラクターのサマリー
コンストラクターメソッドのサマリー
修飾子と型メソッド説明addSecurityFilterChainBuilder
(SecurityBuilder<? extends SecurityFilterChain> securityFilterChainBuilder) SecurityFilterChain
インスタンスを作成するビルダーを追加します。debug
(boolean debugEnabled) Spring Security のデバッグサポートを制御します。expressionHandler
(SecurityExpressionHandler<FilterInvocation> expressionHandler) 使用するSecurityExpressionHandler
を設定します。使用するSecurityExpressionHandler
を取得します。使用するWebInvocationPrivilegeEvaluator
を取得します。httpFirewall
(HttpFirewall httpFirewall) HttpFirewall
をカスタマイズできます。ignoring()
Spring Security が無視するRequestMatcher
インスタンスを追加できます。protected jakarta.servlet.Filter
サブクラスはこのメソッドを実装して、返されるオブジェクトを構築する必要があります。postBuildAction
(RunnableSE postBuildAction) ビルドが行われた直後に Runnable を実行しますprivilegeEvaluator
(WebInvocationPrivilegeEvaluator privilegeEvaluator) 使用するWebInvocationPrivilegeEvaluator
を設定します。requestRejectedHandler
(RequestRejectedHandler requestRejectedHandler) RequestRejectedException
を処理するようにハンドラーを設定しますvoid
setApplicationContext
(org.springframework.context.ApplicationContext applicationContext) void
setServletContext
(jakarta.servlet.ServletContext servletContext) クラス org.springframework.security.config.annotation.AbstractConfiguredSecurityBuilder から継承されたメソッド
apply, beforeConfigure, beforeInit, doBuild, getConfigurer, getConfigurers, getOrBuild, getSharedObject, getSharedObjects, objectPostProcessor, postProcess, removeConfigurer, removeConfigurers, setSharedObject, with
クラス org.springframework.security.config.annotation.AbstractSecurityBuilder から継承されたメソッド
build, getObject
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.security.config.annotation.SecurityBuilder から継承されたメソッド
build
コンストラクターの詳細
WebSecurity
新しいインスタンスを作成します- パラメーター:
objectPostProcessor
- 使用するObjectPostProcessor
- 関連事項:
メソッドの詳細
ignoring
Spring Security が無視する
使用例:RequestMatcher
インスタンスを追加できます。Spring Security が提供する Web セキュリティ(SecurityContext
を含む)は、一致するHttpServletRequest
では使用できません。通常、登録されるリクエストは、静的リソースのみのリクエストである必要があります。動的なリクエストの場合、代わりにすべてのユーザーを許可するようにリクエストをマッピングすることを検討してください。webSecurityBuilder.ignoring() // ignore all URLs that start with /resources/ or /static/ .requestMatchers("/resources/**", "/static/**");
または、これにより同じ結果が得られます。webSecurityBuilder.ignoring() // ignore all URLs that start with /resources/ or /static/ .requestMatchers("/resources/**").requestMatchers("/static/**");
ignoring() の複数の呼び出しも加算的であるため、次も前の 2 つの例と同等です。webSecurityBuilder.ignoring() // ignore all URLs that start with /resources/ .requestMatchers("/resources/**"); webSecurityBuilder.ignoring() // ignore all URLs that start with /static/ .requestMatchers("/static/**"); // now both URLs that start with /resources/ and /static/ will be ignored
- 戻り値:
- 無視する必要があるリクエストの登録に使用する
WebSecurity.IgnoredRequestConfigurer
httpFirewall
HttpFirewall
をカスタマイズできます。デフォルトはStrictHttpFirewall
です。- パラメーター:
httpFirewall
- カスタムHttpFirewall
- 戻り値:
- さらにカスタマイズするための
WebSecurity
debug
Spring Security のデバッグサポートを制御します。- パラメーター:
debugEnabled
- true の場合、Spring Security でデバッグサポートを有効にします。デフォルトは false です。- 戻り値:
WebSecurity
をさらにカスタマイズします。- 関連事項:
addSecurityFilterChainBuilder
public WebSecurity addSecurityFilterChainBuilder(SecurityBuilder<? extends SecurityFilterChain> securityFilterChainBuilder) SecurityFilterChain
インスタンスを作成するビルダーを追加します。通常、このメソッドは
WebSecurityConfiguration.springSecurityFilterChain()
からフレームワーク内で自動的に呼び出されます- パラメーター:
securityFilterChainBuilder
-SecurityFilterChain
インスタンスの作成に使用するビルダー- 戻り値:
- さらにカスタマイズするための
WebSecurity
privilegeEvaluator
使用するWebInvocationPrivilegeEvaluator
を設定します。これが指定されていない場合、SecurityFilterChain
のリストに基づいてRequestMatcherDelegatingWebInvocationPrivilegeEvaluator
が作成されます。- パラメーター:
privilegeEvaluator
- 使用するWebInvocationPrivilegeEvaluator
- 戻り値:
- さらにカスタマイズするための
WebSecurity
expressionHandler
使用するSecurityExpressionHandler
を設定します。これが指定されていない場合は、DefaultWebSecurityExpressionHandler
が使用されます。- パラメーター:
expressionHandler
- 使用するSecurityExpressionHandler
- 戻り値:
- さらにカスタマイズするための
WebSecurity
getExpressionHandler
使用するSecurityExpressionHandler
を取得します。- 戻り値:
- さらにカスタマイズするための
SecurityExpressionHandler
getPrivilegeEvaluator
使用するWebInvocationPrivilegeEvaluator
を取得します。- 戻り値:
- さらにカスタマイズするための
WebInvocationPrivilegeEvaluator
postBuildAction
ビルドが行われた直後に Runnable を実行します- パラメーター:
postBuildAction
-- 戻り値:
- さらにカスタマイズするための
WebSecurity
requestRejectedHandler
RequestRejectedException
を処理するようにハンドラーを設定します- パラメーター:
requestRejectedHandler
-- 戻り値:
- さらにカスタマイズするための
WebSecurity
- 導入:
- 5.7
performBuild
クラスからコピーされた説明:AbstractConfiguredSecurityBuilder
サブクラスはこのメソッドを実装して、返されるオブジェクトを構築する必要があります。- 次で指定:
- クラス
AbstractConfiguredSecurityBuilder<jakarta.servlet.Filter,
のWebSecurity> performBuild
- 戻り値:
- Object が buit であるか、実装で許可されている場合は null
- 例外:
ExceptionSE
setApplicationContext
public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) throws org.springframework.beans.BeansException - 次で指定:
- インターフェース
org.springframework.context.ApplicationContextAware
のsetApplicationContext
- 例外:
org.springframework.beans.BeansException
setServletContext
public void setServletContext(jakarta.servlet.ServletContext servletContext) - 次で指定:
- インターフェース
org.springframework.web.context.ServletContextAware
のsetServletContext