org.springframework.security.web.authentication.RememberMeServices |
Known Indirect Subclasses |
Implement by a class that is capable of providing a remember-me service.
Spring Security filters (namely
AbstractAuthenticationProcessingFilter
and
RememberMeAuthenticationFilter
will call the methods provided by an implementation of this interface.
Implementations may implement any type of remember-me capability they wish. Rolling cookies (as per http://fishbowl.pastiche.org/2004/01/19/persistent_login_cookie_best_practice) can be used, as can simple implementations that don't require a persistent store. Implementations also determine the validity period of a remember-me cookie. This interface has been designed to accommodate any of these remember-me models.
This interface does not define how remember-me services should offer a "cancel all remember-me tokens" type capability, as this will be implementation specific and requires no hooks into Spring Security.
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
This method will be called whenever the
SecurityContextHolder does not contain an
Authentication object and Spring Security wishes to provide an implementation with an
opportunity to authenticate the request using remember-me capabilities. | |||||||||||
Called whenever an interactive authentication attempt was made, but the credentials supplied by the user
were missing or otherwise invalid.
| |||||||||||
Called whenever an interactive authentication attempt is successful.
|
This method will be called whenever the SecurityContextHolder
does not contain an
Authentication
object and Spring Security wishes to provide an implementation with an
opportunity to authenticate the request using remember-me capabilities. Spring Security makes no attempt
whatsoever to determine whether the browser has requested remember-me services or presented a valid cookie.
Such determinations are left to the implementation. If a browser has presented an unauthorised cookie for
whatever reason, it should be silently ignored and invalidated using the HttpServletResponse
object.
The returned Authentication
must be acceptable to
AuthenticationManager
or
AuthenticationProvider
defined by the web application.
It is recommended RememberMeAuthenticationToken
be
used in most cases, as it has a corresponding authentication provider.
request | to look for a remember-me token within |
---|---|
response | to change, cancel or modify the remember-me token |
null
if the request should not be authenticated
Called whenever an interactive authentication attempt was made, but the credentials supplied by the user
were missing or otherwise invalid. Implementations should invalidate any and all remember-me tokens indicated
in the HttpServletRequest
.
request | that contained an invalid authentication request |
---|---|
response | to change, cancel or modify the remember-me token |
Called whenever an interactive authentication attempt is successful. An implementation may automatically
set a remember-me token in the HttpServletResponse
, although this is not recommended. Instead,
implementations should typically look for a request parameter that indicates the browser has presented an
explicit request for authentication to be remembered, such as the presence of a HTTP POST parameter.
request | that contained the valid authentication request |
---|---|
response | to change, cancel or modify the remember-me token |
successfulAuthentication | representing the successfully authenticated principal |