org.tolven.security.auth
Class KeyLoginModule

java.lang.Object
  extended by org.tolven.security.auth.KeyLoginModule
All Implemented Interfaces:
javax.security.auth.spi.LoginModule

public class KeyLoginModule
extends java.lang.Object
implements javax.security.auth.spi.LoginModule

This class is responsible for authenticating against LDAP and adding credentials and roles to the Subject. It retrieves the user's PKCS12 KeyStore from LDAP and places the UserPrivateKey and UserPublicKey in the Subject's privateCredentials and publicCredentials respectively.

Author:
Joseph Isaac

 tolvenLDAP {
    <authentication>
        <module-option name="password-stacking">useFirstPass</module-option>
        <module-option name="jaasSecurityDomain">tolven/ldap</module-option>
        <module-option name="principalDNPrefix">uid</module-option> 
        <module-option name="principalDNSuffix">ou=people,dc=tolven,dc=com</module-option>
        <module-option name="rolesCtxDN">ou=groups,dc=tolven,dc=com</module-option>
        <module-option name="roleAttributeID">cn</module-option>
        <module-option name="guestPrincipalName">cn</module-option>
        <module-option name="guestPassword">cn</module-option>
        </login-module>
    </authentication>
 };
 


Field Summary
static java.lang.String TOLVEN_CREDENTIAL_FORMAT_PKCS12
           
 
Constructor Summary
KeyLoginModule()
           
 
Method Summary
 boolean abort()
           
 boolean commit()
           
 void initialize(javax.security.auth.Subject subject, javax.security.auth.callback.CallbackHandler callbackHandler, java.util.Map<java.lang.String,?> sharedState, java.util.Map<java.lang.String,?> options)
           
 boolean login()
           
 boolean logout()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TOLVEN_CREDENTIAL_FORMAT_PKCS12

public static final java.lang.String TOLVEN_CREDENTIAL_FORMAT_PKCS12
See Also:
Constant Field Values
Constructor Detail

KeyLoginModule

public KeyLoginModule()
Method Detail

initialize

public void initialize(javax.security.auth.Subject subject,
                       javax.security.auth.callback.CallbackHandler callbackHandler,
                       java.util.Map<java.lang.String,?> sharedState,
                       java.util.Map<java.lang.String,?> options)
Specified by:
initialize in interface javax.security.auth.spi.LoginModule

login

public boolean login()
              throws javax.security.auth.login.LoginException
Specified by:
login in interface javax.security.auth.spi.LoginModule
Throws:
javax.security.auth.login.LoginException

commit

public boolean commit()
               throws javax.security.auth.login.LoginException
Specified by:
commit in interface javax.security.auth.spi.LoginModule
Throws:
javax.security.auth.login.LoginException

abort

public boolean abort()
              throws javax.security.auth.login.LoginException
Specified by:
abort in interface javax.security.auth.spi.LoginModule
Throws:
javax.security.auth.login.LoginException

logout

public boolean logout()
               throws javax.security.auth.login.LoginException
Specified by:
logout in interface javax.security.auth.spi.LoginModule
Throws:
javax.security.auth.login.LoginException