クラス WebSecurity
java.lang.ObjectSE
org.springframework.security.config.annotation.AbstractSecurityBuilder<jakarta.servlet.Filter>
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を処理するようにハンドラーを設定しますvoidsetApplicationContext(org.springframework.context.ApplicationContext applicationContext) voidsetServletContext(jakarta.servlet.ServletContext servletContext) クラス AbstractConfiguredSecurityBuilder から継承されたメソッド
apply, beforeConfigure, beforeInit, doBuild, getConfigurer, getConfigurers, getOrBuild, getSharedObject, getSharedObjects, objectPostProcessor, postProcess, removeConfigurer, removeConfigurers, setSharedObject, with, withクラス AbstractSecurityBuilder から継承されたメソッド
build, getObjectクラス ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSEインターフェース 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(ObjectProvider)からフレームワーク内で自動的に呼び出されます- パラメーター:
securityFilterChainBuilder-SecurityFilterChainインスタンスの作成に使用するビルダー- 戻り値:
- さらにカスタマイズするための
WebSecurity
privilegeEvaluator
使用するWebInvocationPrivilegeEvaluatorを設定します。これが指定されていない場合、SecurityFilterChainのリストに基づいてAuthorizationManagerWebInvocationPrivilegeEvaluatorが作成されます。- パラメーター:
privilegeEvaluator- 使用するWebInvocationPrivilegeEvaluator- 戻り値:
- さらにカスタマイズするための
WebSecurity
expressionHandler
使用するSecurityExpressionHandlerを設定します。これが指定されていない場合は、DefaultHttpSecurityExpressionHandlerが使用されます。- パラメーター:
expressionHandler- 使用するSecurityExpressionHandler- 戻り値:
- さらにカスタマイズするための
WebSecurity
getExpressionHandler
使用するSecurityExpressionHandlerを取得します。- 戻り値:
- さらにカスタマイズするための
SecurityExpressionHandler
getPrivilegeEvaluator
使用するWebInvocationPrivilegeEvaluatorを取得します。- 戻り値:
- さらにカスタマイズするための
WebInvocationPrivilegeEvaluator
postBuildAction
ビルドが行われた直後に Runnable を実行します- パラメーター:
postBuildAction-- 戻り値:
- さらにカスタマイズするための
WebSecurity
requestRejectedHandler
RequestRejectedExceptionを処理するようにハンドラーを設定します- パラメーター:
requestRejectedHandler-- 戻り値:
- さらにカスタマイズするための
WebSecurity - 導入:
- 5.7
performBuild
protected jakarta.servlet.Filter performBuild()クラスからコピーされた説明:AbstractConfiguredSecurityBuilderサブクラスはこのメソッドを実装して、返されるオブジェクトを構築する必要があります。- 次で指定:
- クラス
AbstractConfiguredSecurityBuilder<jakarta.servlet.Filter, WebSecurity>のperformBuild - 戻り値:
- 構築するオブジェクト、または実装で許可されている場合は null
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