クラス RememberMeAuthenticationFilter
java.lang.ObjectSE
org.springframework.web.filter.GenericFilterBean
org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter
- 実装されたすべてのインターフェース:
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.ApplicationEventPublisherAware
、org.springframework.context.EnvironmentAware
、org.springframework.core.env.EnvironmentCapable
、org.springframework.web.context.ServletContextAware
public class RememberMeAuthenticationFilter
extends org.springframework.web.filter.GenericFilterBean
implements org.springframework.context.ApplicationEventPublisherAware
SecurityContext
に Authentication
オブジェクトがないかどうかを検出し、RememberMeServices
実装がリクエストした場合は、コンテキストに記憶記憶認証トークンを設定します。 具体的な RememberMeServices
実装では、RememberMeServices.autoLogin(HttpServletRequest, HttpServletResponse)
メソッドがこのフィルターによって呼び出されます。このメソッドが null 以外の Authentication
オブジェクトを返す場合、オブジェクトは AuthenticationManager
に渡されるため、認証固有の動作を実現できます。結果の Authentication
(成功した場合)は SecurityContext
に配置されます。
認証が成功すると、InteractiveAuthenticationSuccessEvent
がアプリケーションコンテキストに発行されます。認証が失敗した場合、イベントは公開されません。これは通常、AuthenticationManager
-specific アプリケーションイベントを介して記録されるためです。
通常、認証が成功したか失敗したかに関係なく、リクエストは続行できます。認証済みユーザーの宛先を制御する必要がある場合は、AuthenticationSuccessHandler
を挿入できます
フィールドサマリー
クラス org.springframework.web.filter.GenericFilterBean から継承されたフィールド
logger
コンストラクターのサマリー
コンストラクターコンストラクター説明RememberMeAuthenticationFilter
(AuthenticationManager authenticationManager, RememberMeServices rememberMeServices) メソッドのサマリー
修飾子と型メソッド説明void
void
doFilter
(jakarta.servlet.ServletRequest request, jakarta.servlet.ServletResponse response, jakarta.servlet.FilterChain chain) protected void
onSuccessfulAuthentication
(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Authentication authResult) 記憶記憶トークンが提示され、RememberMeServices
autoLogin
メソッドおよびAuthenticationManager
によって正常に認証された場合に呼び出されます。protected void
onUnsuccessfulAuthentication
(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, AuthenticationException failed) AuthenticationManager
がRememberMeServices
autoLogin
メソッドから返された認証オブジェクトを拒否した場合に呼び出されます。void
setApplicationEventPublisher
(org.springframework.context.ApplicationEventPublisher eventPublisher) void
setAuthenticationSuccessHandler
(AuthenticationSuccessHandler successHandler) 認証に成功したときに記憶されたユーザーが送信される宛先を制御できます。void
setSecurityContextHolderStrategy
(SecurityContextHolderStrategy securityContextHolderStrategy) 使用するSecurityContextHolderStrategy
を設定します。void
setSecurityContextRepository
(SecurityContextRepository securityContextRepository) 認証が成功したときにSecurityContext
を保存するようにSecurityContextRepository
を設定します。クラス org.springframework.web.filter.GenericFilterBean から継承されたメソッド
addRequiredProperty, createEnvironment, destroy, getEnvironment, getFilterConfig, getFilterName, getServletContext, init, initBeanWrapper, initFilterBean, setBeanName, setEnvironment, setServletContext
コンストラクターの詳細
RememberMeAuthenticationFilter
public RememberMeAuthenticationFilter(AuthenticationManager authenticationManager, RememberMeServices rememberMeServices)
メソッドの詳細
afterPropertiesSet
public void afterPropertiesSet()- 次で指定:
- インターフェース
org.springframework.beans.factory.InitializingBean
のafterPropertiesSet
- オーバーライド:
- クラス
org.springframework.web.filter.GenericFilterBean
のafterPropertiesSet
doFilter
public void doFilter(jakarta.servlet.ServletRequest request, jakarta.servlet.ServletResponse response, jakarta.servlet.FilterChain chain) throws IOExceptionSE, jakarta.servlet.ServletException - 次で指定:
- インターフェース
jakarta.servlet.Filter
のdoFilter
- 例外:
IOExceptionSE
jakarta.servlet.ServletException
onSuccessfulAuthentication
protected void onSuccessfulAuthentication(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Authentication authResult) 記憶記憶トークンが提示され、RememberMeServices
autoLogin
メソッドおよびAuthenticationManager
によって正常に認証された場合に呼び出されます。onUnsuccessfulAuthentication
protected void onUnsuccessfulAuthentication(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, AuthenticationException failed) AuthenticationManager
がRememberMeServices
autoLogin
メソッドから返された認証オブジェクトを拒否した場合に呼び出されます。このメソッドは、remember-me トークンがリクエストに存在せず、autoLogin
が null を返す場合は呼び出されません。getRememberMeServices
setApplicationEventPublisher
public void setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher eventPublisher) - 次で指定:
- インターフェース
org.springframework.context.ApplicationEventPublisherAware
のsetApplicationEventPublisher
setAuthenticationSuccessHandler
認証に成功したときに記憶されたユーザーの送信先を制御できます。デフォルトでは、フィルターは現在のリクエストの続行のみを許可しますが、AuthenticationSuccessHandler
が設定されている場合、それが呼び出され、doFilter()
メソッドがすぐに返されるため、元のアプリケーションに関係なく、アプリケーションはユーザーを特定の URL にリダイレクトできます。リクエストがあった。- パラメーター:
successHandler
-doFilter()
から戻る直前に呼び出す戦略。
setSecurityContextRepository
認証が成功したときにSecurityContext
を保存するようにSecurityContextRepository
を設定します。デフォルトのアクションは、SecurityContext
を保存しないことです。- パラメーター:
securityContextRepository
- 使用するSecurityContextRepository
。null にはできません。
setSecurityContextHolderStrategy
public void setSecurityContextHolderStrategy(SecurityContextHolderStrategy securityContextHolderStrategy) 使用するSecurityContextHolderStrategy
を設定します。デフォルトのアクションは、SecurityContextHolder
に格納されているSecurityContextHolderStrategy
を使用することです。- 導入:
- 5.8