クラス SecurityContextHolderFilter
- java.lang.Object
-
- org.springframework.web.filter.GenericFilterBean
-
- org.springframework.web.filter.OncePerRequestFilter
-
- org.springframework.security.web.context.SecurityContextHolderFilter
- 実装されたすべてのインターフェース:
javax.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 SecurityContextHolderFilter extends org.springframework.web.filter.OncePerRequestFilter
SecurityContextRepository
を使用してSecurityContext
を取得し、それをSecurityContextHolder
に設定するFilter
。これはSecurityContextPersistenceFilter
に似ていますが、SecurityContext
を保存するためにSecurityContextRepository.saveContext(SecurityContext, HttpServletRequest, HttpServletResponse)
を明示的に呼び出す必要がある点が異なります。これにより、認証を永続化する必要があるかどうかをさまざまな認証メカニズムで個別に選択できるようになるため、効率が向上し、柔軟性が向上します。- 導入:
- 5.7
コンストラクターのサマリー
コンストラクター コンストラクター 説明 SecurityContextHolderFilter(SecurityContextRepository securityContextRepository)
新しいインスタンスを作成します。
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 protected void
doFilterInternal(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.FilterChain filterChain)
void
setShouldNotFilterErrorDispatch(boolean shouldNotFilterErrorDispatch)
エラーディスパッチのSecurityContextHolderFilter
を無効にします。protected boolean
shouldNotFilterErrorDispatch()
クラス org.springframework.web.filter.OncePerRequestFilter から継承されたメソッド
doFilter, doFilterNestedErrorDispatch, getAlreadyFilteredAttributeName, isAsyncDispatch, isAsyncStarted, shouldNotFilter, shouldNotFilterAsyncDispatch
コンストラクターの詳細
SecurityContextHolderFilter
public SecurityContextHolderFilter(SecurityContextRepository securityContextRepository)
新しいインスタンスを作成します。- パラメーター:
securityContextRepository
- 使用するリポジトリ。null にすることはできません。
メソッドの詳細
doFilterInternal
protected void doFilterInternal(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.FilterChain filterChain) throws javax.servlet.ServletException, java.io.IOException
- 次で指定:
- クラス
org.springframework.web.filter.OncePerRequestFilter
のdoFilterInternal
- 例外:
javax.servlet.ServletException
java.io.IOException
shouldNotFilterErrorDispatch
protected boolean shouldNotFilterErrorDispatch()
- オーバーライド:
- クラス
org.springframework.web.filter.OncePerRequestFilter
のshouldNotFilterErrorDispatch
setShouldNotFilterErrorDispatch
public void setShouldNotFilterErrorDispatch(boolean shouldNotFilterErrorDispatch)
エラーディスパッチのSecurityContextHolderFilter
を無効にします。- パラメーター:
shouldNotFilterErrorDispatch
- エラーディスパッチのためにフィルターを無効にする必要がある場合。デフォルトは false です。