クラス RememberMeAuthenticationFilter
- java.lang.Object
-
- org.springframework.web.filter.GenericFilterBean
-
- org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter
- 実装されたすべてのインターフェース:
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.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
を挿入できます
コンストラクターのサマリー
コンストラクター コンストラクター 説明 RememberMeAuthenticationFilter(AuthenticationManager authenticationManager, RememberMeServices rememberMeServices)
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 void
afterPropertiesSet()
void
doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain)
RememberMeServices
getRememberMeServices()
protected void
onSuccessfulAuthentication(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Authentication authResult)
記憶記憶トークンが提示され、RememberMeServices
autoLogin
メソッドおよびAuthenticationManager
によって正常に認証された場合に呼び出されます。protected void
onUnsuccessfulAuthentication(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, AuthenticationException failed)
AuthenticationManager
がRememberMeServices
autoLogin
メソッドから返された認証オブジェクトを拒否した場合に呼び出されます。void
setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher eventPublisher)
void
setAuthenticationSuccessHandler(AuthenticationSuccessHandler successHandler)
認証に成功したときに記憶されたユーザーが送信される宛先を制御できます。void
setSecurityContextRepository(SecurityContextRepository securityContextRepository)
認証が成功したときにSecurityContext
を保存するようにSecurityContextRepository
を設定します。
コンストラクターの詳細
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(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain) throws java.io.IOException, javax.servlet.ServletException
- 次で指定:
- インターフェース
javax.servlet.Filter
のdoFilter
- 例外:
java.io.IOException
javax.servlet.ServletException
onSuccessfulAuthentication
protected void onSuccessfulAuthentication(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Authentication authResult)
記憶記憶トークンが提示され、RememberMeServices
autoLogin
メソッドおよびAuthenticationManager
によって正常に認証された場合に呼び出されます。
onUnsuccessfulAuthentication
protected void onUnsuccessfulAuthentication(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, AuthenticationException failed)
AuthenticationManager
がRememberMeServices
autoLogin
メソッドから返された認証オブジェクトを拒否した場合に呼び出されます。このメソッドは、remember-me トークンがリクエストに存在せず、autoLogin
が null を返す場合は呼び出されません。
getRememberMeServices
public RememberMeServices getRememberMeServices()
setApplicationEventPublisher
public void setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher eventPublisher)
- 次で指定:
- インターフェース
org.springframework.context.ApplicationEventPublisherAware
のsetApplicationEventPublisher
setAuthenticationSuccessHandler
public void setAuthenticationSuccessHandler(AuthenticationSuccessHandler successHandler)
認証に成功したときに記憶されたユーザーの送信先を制御できます。デフォルトでは、フィルターは現在のリクエストの続行のみを許可しますが、AuthenticationSuccessHandler
が設定されている場合、それが呼び出され、doFilter()
メソッドがすぐに返されるため、元のアプリケーションに関係なく、アプリケーションはユーザーを特定の URL にリダイレクトできます。リクエストがあった。- パラメーター:
successHandler
-doFilter()
から戻る直前に呼び出す戦略。
setSecurityContextRepository
public void setSecurityContextRepository(SecurityContextRepository securityContextRepository)
認証が成功したときにSecurityContext
を保存するようにSecurityContextRepository
を設定します。デフォルトのアクションは、SecurityContext
を保存しないことです。- パラメーター:
securityContextRepository
- 使用するSecurityContextRepository
。null にはできません。