org.apache.geronimo.security.realm.providers
Class CertificatePropertiesFileLoginModule
java.lang.Object
org.apache.geronimo.security.realm.providers.CertificatePropertiesFileLoginModule
- All Implemented Interfaces:
- LoginModule
public class CertificatePropertiesFileLoginModule
- extends Object
- implements LoginModule
An example LoginModule that reads a list of credentials and group from a file on disk.
Authentication is provided by the SSL layer supplying the client certificate.
All we check is that it is present. The
file should be formatted using standard Java properties syntax. Expects
to be run by a GenericSecurityRealm (doesn't work on its own).
The usersURI property file should have lines of the form token=certificatename
where certificate name is X509Certificate.getSubjectX500Principal().getName()
The groupsURI property file should have lines of the form group=token1,token2,...
where the tokens were associated to the certificate names in the usersURI properties file.
This login module checks security credentials so the lifecycle methods must return true to indicate success
or throw LoginException to indicate failure.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
USERS_URI
public static final String USERS_URI
- See Also:
- Constant Field Values
GROUPS_URI
public static final String GROUPS_URI
- See Also:
- Constant Field Values
supportedOptions
public static final List<String> supportedOptions
CertificatePropertiesFileLoginModule
public CertificatePropertiesFileLoginModule()
initialize
public void initialize(Subject subject,
CallbackHandler callbackHandler,
Map sharedState,
Map options)
- Specified by:
initialize
in interface LoginModule
loadProperties
public void loadProperties(ServerInfo serverInfo,
URI usersURI,
URI groupURI)
throws GeronimoSecurityException
- Throws:
GeronimoSecurityException
login
public boolean login()
throws LoginException
- This LoginModule is not to be ignored. So, this method should never return false.
- Specified by:
login
in interface LoginModule
- Returns:
- true if authentication succeeds, or throw a LoginException such as FailedLoginException
if authentication fails
- Throws:
LoginException
commit
public boolean commit()
throws LoginException
- Specified by:
commit
in interface LoginModule
- Throws:
LoginException
abort
public boolean abort()
throws LoginException
- Specified by:
abort
in interface LoginModule
- Throws:
LoginException
logout
public boolean logout()
throws LoginException
- Specified by:
logout
in interface LoginModule
- Throws:
LoginException
Copyright © 2003-2008 The Apache Geronimo development community. All Rights Reserved.