public class X509AuthenticationProvider extends Object implements AuthenticationProvider, org.springframework.beans.factory.InitializingBean, org.springframework.context.MessageSourceAware
The request will typically originate from X509ProcessingFilter
).
Modifier and Type | Field and Description |
---|---|
protected org.springframework.context.support.MessageSourceAccessor |
messages |
Constructor and Description |
---|
X509AuthenticationProvider() |
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet() |
Authentication |
authenticate(Authentication authentication)
If the supplied authentication token contains a certificate then this will be passed to the configured
X509AuthoritiesPopulator to obtain the user details and authorities for the user identified by the
certificate. |
void |
setMessageSource(org.springframework.context.MessageSource messageSource) |
void |
setX509AuthoritiesPopulator(X509AuthoritiesPopulator x509AuthoritiesPopulator) |
void |
setX509UserCache(X509UserCache cache) |
boolean |
supports(Class authentication)
Returns
true if this AuthenticationProvider supports the indicated
Authentication object. |
public void afterPropertiesSet() throws Exception
afterPropertiesSet
in interface org.springframework.beans.factory.InitializingBean
Exception
public Authentication authenticate(Authentication authentication) throws AuthenticationException
X509AuthoritiesPopulator
to obtain the user details and authorities for the user identified by the
certificate.If no certificate is present (for example, if the filter is applied to an HttpRequest for which client authentication hasn't been configured in the container) then a BadCredentialsException will be raised.
authenticate
in interface AuthenticationProvider
authentication
- the authentication request.AuthenticationException
- if the X509AuthoritiesPopulator
rejects the certficate.BadCredentialsException
- if no certificate was presented in the authentication request.public void setMessageSource(org.springframework.context.MessageSource messageSource)
setMessageSource
in interface org.springframework.context.MessageSourceAware
public void setX509AuthoritiesPopulator(X509AuthoritiesPopulator x509AuthoritiesPopulator)
public void setX509UserCache(X509UserCache cache)
public boolean supports(Class authentication)
AuthenticationProvider
true
if this AuthenticationProvider
supports the indicated
Authentication
object.
Returning true
does not guarantee an AuthenticationProvider
will be able to
authenticate the presented instance of the Authentication
class. It simply indicates it can support
closer evaluation of it. An AuthenticationProvider
can still return null
from the
AuthenticationProvider.authenticate(Authentication)
method to indicate another AuthenticationProvider
should be
tried.
Selection of an AuthenticationProvider
capable of performing authentication is
conducted at runtime the ProviderManager
.
supports
in interface AuthenticationProvider
authentication
- DOCUMENT ME!true
if the implementation can more closely evaluate the Authentication
class
presentedCopyright © 2014. All rights reserved.