org.acegisecurity.providers.x509.populator
Class DaoX509AuthoritiesPopulator
java.lang.Object
org.acegisecurity.providers.x509.populator.DaoX509AuthoritiesPopulator
- All Implemented Interfaces:
- X509AuthoritiesPopulator, InitializingBean, MessageSourceAware
public class DaoX509AuthoritiesPopulator
- extends Object
- implements X509AuthoritiesPopulator, InitializingBean, MessageSourceAware
Populates the X509 authorities via an UserDetailsService.
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
messages
protected MessageSourceAccessor messages
DaoX509AuthoritiesPopulator
public DaoX509AuthoritiesPopulator()
afterPropertiesSet
public void afterPropertiesSet()
throws Exception
- Specified by:
afterPropertiesSet in interface InitializingBean
- Throws:
Exception
getUserDetails
public UserDetails getUserDetails(X509Certificate clientCert)
throws AuthenticationException
- Description copied from interface:
X509AuthoritiesPopulator
- Obtains the granted authorities for the specified user.
May throw any AuthenticationException or return
null if the authorities are unavailable.
- Specified by:
getUserDetails in interface X509AuthoritiesPopulator
- Parameters:
clientCert - the X.509 certificate supplied
- Returns:
- the details of the indicated user (at minimum the granted
authorities and the username)
- Throws:
AuthenticationException - if the user details are not available
or the certificate isn't valid for the application's purpose.
setUserDetailsService
public void setUserDetailsService(UserDetailsService authenticationDao)
setMessageSource
public void setMessageSource(MessageSource messageSource)
- Specified by:
setMessageSource in interface MessageSourceAware
setSubjectDNRegex
public void setSubjectDNRegex(String subjectDNRegex)
- Sets the regular expression which will by used to extract the user name
from the certificate's Subject DN.
It should contain a single group; for example the default expression
"CN=(.*?)," matches the common name field. So "CN=Jimi Hendrix, OU=..."
will give a user name of "Jimi Hendrix".
The matches are case insensitive. So "emailAddress=(.*?)," will match
"EMAILADDRESS=jimi@hendrix.org, CN=..." giving a user name "jimi@hendrix.org"
- Parameters:
subjectDNRegex - the regular expression to find in the subject
Copyright © 2004-2005 Acegi Technology Pty Limited. All Rights Reserved.