クラス JaasApiIntegrationFilter
java.lang.ObjectSE
org.springframework.web.filter.GenericFilterBean
org.springframework.security.web.jaasapi.JaasApiIntegrationFilter
- 実装されたすべてのインターフェース:
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 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)
を使用して JAASSubject
を取得して実行しようとします。protected SubjectSE
obtainSubject
(jakarta.servlet.ServletRequest request) 実行するSubject
、またはSubject
が使用できない場合はnull
を取得します。final void
setCreateEmptySubject
(boolean createEmptySubject) createEmptySubject
を設定します。void
setSecurityContextHolderStrategy
(SecurityContextHolderStrategy securityContextHolderStrategy) 使用するSecurityContextHolderStrategy
を設定します。クラス org.springframework.web.filter.GenericFilterBean から継承されたメソッド
addRequiredProperty, afterPropertiesSet, createEnvironment, destroy, getEnvironment, getFilterConfig, getFilterName, getServletContext, init, initBeanWrapper, initFilterBean, setBeanName, setEnvironment, setServletContext
コンストラクターの詳細
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)
を使用して JAASSubject
を取得して実行しようとします。Subject
がnull
で、createEmptySubject がtrue
の場合、空の書き込み可能なSubject
が使用されます。これにより、ログイン時にSubject
を設定できます。Subject
がnull
の場合、FilterChain
は追加処理なしで続行されます。Subject
がnull
でない場合、FilterChain
は取得されたSubject
と組み合わせてSubject.doAs(Subject, PrivilegedExceptionAction)
SE で実行されます。- 例外:
jakarta.servlet.ServletException
IOExceptionSE
obtainSubject
実行する
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