実装されたすべてのインターフェース:
org.springframework.beans.factory.Awareorg.springframework.context.ApplicationContextAwareSecurityBuilder<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

WebSecurityWebSecurityConfiguration によって作成され、Spring Security フィルターチェーン(springSecurityFilterChain)として知られる FilterChainProxy を作成します。springSecurityFilterChain は、DelegatingFilterProxy が委譲する Filter です。

WebSecurity のカスタマイズは、WebSecurityConfigurer を作成するか、WebSecurityCustomizer Bean を公開することによって行うことができます。

導入:
3.2
関連事項:
  • コンストラクターの詳細

  • メソッドの詳細

    • 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

      public WebSecurity httpFirewall(HttpFirewall httpFirewall)
      HttpFirewall をカスタマイズできます。デフォルトは StrictHttpFirewall です。
      パラメーター:
      httpFirewall - カスタム HttpFirewall
      戻り値:
      さらにカスタマイズするための WebSecurity
    • debug

      public WebSecurity debug(boolean debugEnabled)
      Spring Security のデバッグサポートを制御します。
      パラメーター:
      debugEnabled - true の場合、Spring Security でデバッグサポートを有効にします。デフォルトは false です。
      戻り値:
      WebSecurity をさらにカスタマイズします。
      関連事項:
    • addSecurityFilterChainBuilder

      public WebSecurity addSecurityFilterChainBuilder(SecurityBuilder<? extends SecurityFilterChain> securityFilterChainBuilder)

      SecurityFilterChain インスタンスを作成するビルダーを追加します。

      通常、このメソッドは WebSecurityConfiguration.springSecurityFilterChain() からフレームワーク内で自動的に呼び出されます

      パラメーター:
      securityFilterChainBuilder - SecurityFilterChain インスタンスの作成に使用するビルダー
      戻り値:
      さらにカスタマイズするための WebSecurity
    • privilegeEvaluator

      public WebSecurity privilegeEvaluator(WebInvocationPrivilegeEvaluator privilegeEvaluator)
      使用する WebInvocationPrivilegeEvaluator を設定します。これが指定されていない場合、SecurityFilterChain のリストに基づいて RequestMatcherDelegatingWebInvocationPrivilegeEvaluator が作成されます。
      パラメーター:
      privilegeEvaluator - 使用する WebInvocationPrivilegeEvaluator
      戻り値:
      さらにカスタマイズするための WebSecurity
    • expressionHandler

      public WebSecurity expressionHandler(SecurityExpressionHandler<FilterInvocation> expressionHandler)
      使用する SecurityExpressionHandler を設定します。これが指定されていない場合は、DefaultWebSecurityExpressionHandler が使用されます。
      パラメーター:
      expressionHandler - 使用する SecurityExpressionHandler
      戻り値:
      さらにカスタマイズするための WebSecurity
    • getExpressionHandler

      public SecurityExpressionHandler<FilterInvocation> getExpressionHandler()
      使用する SecurityExpressionHandler を取得します。
      戻り値:
      さらにカスタマイズするための SecurityExpressionHandler
    • getPrivilegeEvaluator

      public WebInvocationPrivilegeEvaluator getPrivilegeEvaluator()
      使用する WebInvocationPrivilegeEvaluator を取得します。
      戻り値:
      さらにカスタマイズするための WebInvocationPrivilegeEvaluator
    • postBuildAction

      public WebSecurity postBuildAction(RunnableSE postBuildAction)
      ビルドが行われた直後に Runnable を実行します
      パラメーター:
      postBuildAction -
      戻り値:
      さらにカスタマイズするための WebSecurity
    • requestRejectedHandler

      public WebSecurity requestRejectedHandler(RequestRejectedHandler requestRejectedHandler)
      RequestRejectedException を処理するようにハンドラーを設定します
      パラメーター:
      requestRejectedHandler -
      戻り値:
      さらにカスタマイズするための WebSecurity
      導入:
      5.7
    • performBuild

      protected jakarta.servlet.Filter performBuild() throws ExceptionSE
      クラスからコピーされた説明: 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.ApplicationContextAwaresetApplicationContext 
      例外:
      org.springframework.beans.BeansException
    • setServletContext

      public void setServletContext(jakarta.servlet.ServletContext servletContext)
      次で指定:
      インターフェース org.springframework.web.context.ServletContextAwaresetServletContext