クラス AuthenticationFilter
java.lang.ObjectSE
org.springframework.web.filter.GenericFilterBean
org.springframework.web.filter.OncePerRequestFilter
org.springframework.security.web.authentication.AuthenticationFilter
- 実装されたすべてのインターフェース:
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 AuthenticationFilter
extends org.springframework.web.filter.OncePerRequestFilter
特定のリクエストの認証を実行する
Filter
。ロジックの概要:- リクエストが受信し、
setRequestMatcher(RequestMatcher)
と一致しない場合、このフィルターは何もせず、FilterChain
が続行されます。一致する場合... HttpServletRequest
をAuthentication
に変換しようとしました。結果が空の場合、フィルターはそれ以上何もせず、FilterChain
が続行されます。Authentication
が作成される場合...AuthenticationFilter(AuthenticationManager, AuthenticationConverter)
で指定されたAuthenticationManager
は、認証の実行に使用されます。AuthenticationFilter(AuthenticationManagerResolver, AuthenticationConverter)
で指定されたAuthenticationManagerResolver
は、コンテキストから適切な認証マネージャーを解決して認証を実行するために使用されます。- 認証が成功した場合、
AuthenticationSuccessHandler
が呼び出され、認証がSecurityContextHolder
に設定されます。それ以外の場合、AuthenticationFailureHandler
が呼び出されます
- 導入:
- 5.2.0
フィールドサマリー
クラス org.springframework.web.filter.OncePerRequestFilter から継承されたフィールド
ALREADY_FILTERED_SUFFIX
クラス org.springframework.web.filter.GenericFilterBean から継承されたフィールド
logger
コンストラクターのサマリー
コンストラクターコンストラクター説明AuthenticationFilter
(AuthenticationManagerResolver<jakarta.servlet.http.HttpServletRequest> authenticationManagerResolver, AuthenticationConverter authenticationConverter) AuthenticationFilter
(AuthenticationManager authenticationManager, AuthenticationConverter authenticationConverter) メソッドのサマリー
修飾子と型メソッド説明protected void
doFilterInternal
(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, jakarta.servlet.FilterChain filterChain) AuthenticationManagerResolver<jakarta.servlet.http.HttpServletRequest>
void
setAuthenticationConverter
(AuthenticationConverter authenticationConverter) void
setAuthenticationManagerResolver
(AuthenticationManagerResolver<jakarta.servlet.http.HttpServletRequest> authenticationManagerResolver) void
setFailureHandler
(AuthenticationFailureHandler failureHandler) void
setRequestMatcher
(RequestMatcher requestMatcher) void
setSecurityContextHolderStrategy
(SecurityContextHolderStrategy securityContextHolderStrategy) 使用するSecurityContextHolderStrategy
を設定します。void
setSecurityContextRepository
(SecurityContextRepository securityContextRepository) 認証が成功したときにSecurityContext
を保存するようにSecurityContextRepository
を設定します。void
setSuccessHandler
(AuthenticationSuccessHandler successHandler) クラス org.springframework.web.filter.OncePerRequestFilter から継承されたメソッド
doFilter, doFilterNestedErrorDispatch, getAlreadyFilteredAttributeName, isAsyncDispatch, isAsyncStarted, shouldNotFilter, shouldNotFilterAsyncDispatch, shouldNotFilterErrorDispatch
クラス org.springframework.web.filter.GenericFilterBean から継承されたメソッド
addRequiredProperty, afterPropertiesSet, createEnvironment, destroy, getEnvironment, getFilterConfig, getFilterName, getServletContext, init, initBeanWrapper, initFilterBean, setBeanName, setEnvironment, setServletContext
コンストラクターの詳細
AuthenticationFilter
public AuthenticationFilter(AuthenticationManager authenticationManager, AuthenticationConverter authenticationConverter) AuthenticationFilter
public AuthenticationFilter(AuthenticationManagerResolver<jakarta.servlet.http.HttpServletRequest> authenticationManagerResolver, AuthenticationConverter authenticationConverter)
メソッドの詳細
getRequestMatcher
setRequestMatcher
getAuthenticationConverter
setAuthenticationConverter
getSuccessHandler
setSuccessHandler
getFailureHandler
setFailureHandler
getAuthenticationManagerResolver
public AuthenticationManagerResolver<jakarta.servlet.http.HttpServletRequest> getAuthenticationManagerResolver()setAuthenticationManagerResolver
public void setAuthenticationManagerResolver(AuthenticationManagerResolver<jakarta.servlet.http.HttpServletRequest> authenticationManagerResolver) setSecurityContextRepository
認証が成功したときにSecurityContext
を保存するようにSecurityContextRepository
を設定します。デフォルトのアクションは、SecurityContext
を保存しないことです。- パラメーター:
securityContextRepository
- 使用するSecurityContextRepository
。null にはできません。
setSecurityContextHolderStrategy
public void setSecurityContextHolderStrategy(SecurityContextHolderStrategy securityContextHolderStrategy) 使用するSecurityContextHolderStrategy
を設定します。デフォルトのアクションは、SecurityContextHolder
に格納されているSecurityContextHolderStrategy
を使用することです。- 導入:
- 5.8
doFilterInternal
protected void doFilterInternal(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, jakarta.servlet.FilterChain filterChain) throws jakarta.servlet.ServletException, IOExceptionSE - 次で指定:
- クラス
org.springframework.web.filter.OncePerRequestFilter
のdoFilterInternal
- 例外:
jakarta.servlet.ServletException
IOExceptionSE