クラス JaasApiIntegrationFilter

java.lang.ObjectSE
org.springframework.web.filter.GenericFilterBean
org.springframework.security.web.jaasapi.JaasApiIntegrationFilter
実装されたすべてのインターフェース:
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 JaasApiIntegrationFilter extends org.springframework.web.filter.GenericFilterBean

JAAS Subject を取得し、FilterChain をその Subject として実行し続ける Filter

この Filter を Spring の JaasAuthenticationProvider と組み合わせて使用することにより、Spring の SecurityContext と JAAS Subject の両方を同時に実装できます。これは、JAAS Subject の入力が必要なコードと統合する場合に役立ちます。

関連事項:
  • フィールドサマリー

    クラス org.springframework.web.filter.GenericFilterBean から継承されたフィールド

    logger
  • コンストラクターのサマリー

    コンストラクター
    コンストラクター
    説明
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    final void
    doFilter(jakarta.servlet.ServletRequest request, jakarta.servlet.ServletResponse response, jakarta.servlet.FilterChain chain)
    obtainSubject(ServletRequest) を使用して JAAS Subject を取得して実行しようとします。
    protected SubjectSE
    obtainSubject(jakarta.servlet.ServletRequest request)
    実行する Subject、または Subject が使用できない場合は null を取得します。
    final void
    setCreateEmptySubject(boolean createEmptySubject)
    createEmptySubject を設定します。
    void
    使用する SecurityContextHolderStrategy を設定します。

    クラス org.springframework.web.filter.GenericFilterBean から継承されたメソッド

    addRequiredProperty, afterPropertiesSet, createEnvironment, destroy, getEnvironment, getFilterConfig, getFilterName, getServletContext, init, initBeanWrapper, initFilterBean, setBeanName, setEnvironment, setServletContext

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
  • コンストラクターの詳細

    • JaasApiIntegrationFilter

      public JaasApiIntegrationFilter()
  • メソッドの詳細

    • doFilter

      public final void doFilter(jakarta.servlet.ServletRequest request, jakarta.servlet.ServletResponse response, jakarta.servlet.FilterChain chain) throws jakarta.servlet.ServletException, IOExceptionSE

      obtainSubject(ServletRequest) を使用して JAAS Subject を取得して実行しようとします。

      Subject が null で、createEmptySubject が true の場合、空の書き込み可能な Subject が使用されます。これにより、ログイン時に Subject を設定できます。Subject が null の場合、FilterChain は追加処理なしで続行されます。Subject が null でない場合、FilterChain は取得された Subject と組み合わせて Subject.doAs(Subject, PrivilegedExceptionAction)SE で実行されます。

      例外:
      jakarta.servlet.ServletException
      IOExceptionSE
    • obtainSubject

      protected SubjectSE obtainSubject(jakarta.servlet.ServletRequest request)

      実行する Subject、または Subject が使用できない場合は null を取得します。

      デフォルトの実装では、SecurityContext の Authentication から Subject を取得しようとします。型 JaasAuthenticationToken であり、認証されている場合は、Subject が返されます。それ以外の場合は、null が返されます。

      パラメーター:
      request - 現在の ServletRequest
      戻り値:
      実行するサブジェクト、または Subject が使用できない場合は null 
    • setCreateEmptySubject

      public final void setCreateEmptySubject(boolean createEmptySubject)
      createEmptySubject を設定します。値が true で、obtainSubject(ServletRequest) が null を返す場合、代わりに空の書き込み可能な Subject が作成されます。それ以外の場合、Subject は使用されません。デフォルトは false です。
      パラメーター:
      createEmptySubject - 新しい価値
    • setSecurityContextHolderStrategy

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