クラス AuthenticationFilter
- java.lang.Object
-
- org.springframework.web.filter.GenericFilterBean
-
- org.springframework.web.filter.OncePerRequestFilter
-
- org.springframework.security.web.authentication.AuthenticationFilter
- 実装されたすべてのインターフェース:
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 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
コンストラクターのサマリー
コンストラクター コンストラクター 説明 AuthenticationFilter(AuthenticationManagerResolver<javax.servlet.http.HttpServletRequest> authenticationManagerResolver, AuthenticationConverter authenticationConverter)
AuthenticationFilter(AuthenticationManager authenticationManager, AuthenticationConverter authenticationConverter)
メソッドのサマリー
クラス org.springframework.web.filter.OncePerRequestFilter から継承されたメソッド
doFilter, doFilterNestedErrorDispatch, getAlreadyFilteredAttributeName, isAsyncDispatch, isAsyncStarted, shouldNotFilter, shouldNotFilterAsyncDispatch, shouldNotFilterErrorDispatch
コンストラクターの詳細
AuthenticationFilter
public AuthenticationFilter(AuthenticationManager authenticationManager, AuthenticationConverter authenticationConverter)
AuthenticationFilter
public AuthenticationFilter(AuthenticationManagerResolver<javax.servlet.http.HttpServletRequest> authenticationManagerResolver, AuthenticationConverter authenticationConverter)
メソッドの詳細
getRequestMatcher
public RequestMatcher getRequestMatcher()
setRequestMatcher
public void setRequestMatcher(RequestMatcher requestMatcher)
getAuthenticationConverter
public AuthenticationConverter getAuthenticationConverter()
setAuthenticationConverter
public void setAuthenticationConverter(AuthenticationConverter authenticationConverter)
getSuccessHandler
public AuthenticationSuccessHandler getSuccessHandler()
setSuccessHandler
public void setSuccessHandler(AuthenticationSuccessHandler successHandler)
getFailureHandler
public AuthenticationFailureHandler getFailureHandler()
setFailureHandler
public void setFailureHandler(AuthenticationFailureHandler failureHandler)
getAuthenticationManagerResolver
public AuthenticationManagerResolver<javax.servlet.http.HttpServletRequest> getAuthenticationManagerResolver()
setAuthenticationManagerResolver
public void setAuthenticationManagerResolver(AuthenticationManagerResolver<javax.servlet.http.HttpServletRequest> authenticationManagerResolver)
setSecurityContextRepository
public void setSecurityContextRepository(SecurityContextRepository securityContextRepository)
認証が成功したときにSecurityContext
を保存するようにSecurityContextRepository
を設定します。デフォルトのアクションは、SecurityContext
を保存しないことです。- パラメーター:
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