org.jboss.resource.security
Class JaasSecurityDomainIdentityLoginModule

java.lang.Object
  extended by org.jboss.security.auth.spi.AbstractServerLoginModule
      extended by org.jboss.resource.security.AbstractPasswordCredentialLoginModule
          extended by org.jboss.resource.security.JaasSecurityDomainIdentityLoginModule
All Implemented Interfaces:
LoginModule

public class JaasSecurityDomainIdentityLoginModule
extends AbstractPasswordCredentialLoginModule

A login module for statically defining a data source username and password that uses a password that has been ecrypted by a JaasSecurityDomain. The base64 format of the data source password may be generated using the PBEUtils command: java -cp jbosssx.jar org.jboss.security.plugins.PBEUtils salt count domain-password data-source-password salt : the Salt attribute from the JaasSecurityDomain count : the IterationCount attribute from the JaasSecurityDomain domain-password : the plaintext password that maps to the KeyStorePass attribute from the JaasSecurityDomain data-source-password : the plaintext password for the data source that should be encrypted with the JaasSecurityDomain password for example: java -cp jbosssx.jar org.jboss.security.plugins.PBEUtils abcdefgh 13 master '' Encoded password: E5gtGMKcXPP A sample login-config.xml configuration entry would be: sa E5gtGMKcXPP jboss.jca:service=LocalTxCM,name=DefaultDS jboss.security:service=JaasSecurityDomain,domain=ServerMasterPassword

Version:
$Revision: 71545 $
Author:
Scott.Stark@jboss.org, Noel Rocher 29, june 2004 username & userName issue

Field Summary
 
Fields inherited from class org.jboss.security.auth.spi.AbstractServerLoginModule
callbackHandler, loginOk, options, principalClassName, sharedState, subject, unauthenticatedIdentity, useFirstPass
 
Constructor Summary
JaasSecurityDomainIdentityLoginModule()
           
 
Method Summary
 boolean abort()
          Method to abort the authentication process (phase 2).
 boolean commit()
          Method to commit the authentication process (phase 2).
protected  Principal getIdentity()
          Overriden by subclasses to return the Principal that corresponds to the user primary identity.
protected  Group[] getRoleSets()
          Overriden by subclasses to return the Groups that correspond to the to the role sets assigned to the user.
 void initialize(Subject subject, CallbackHandler handler, Map sharedState, Map options)
          Initialize the login module.
 boolean login()
          Return false if there is no mcf, else return super.login().
 
Methods inherited from class org.jboss.resource.security.AbstractPasswordCredentialLoginModule
getMcf, getServer, logout, removeCredentials
 
Methods inherited from class org.jboss.security.auth.spi.AbstractServerLoginModule
createGroup, createIdentity, getUnauthenticatedIdentity, getUseFirstPass
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JaasSecurityDomainIdentityLoginModule

public JaasSecurityDomainIdentityLoginModule()
Method Detail

initialize

public void initialize(Subject subject,
                       CallbackHandler handler,
                       Map sharedState,
                       Map options)
Description copied from class: AbstractServerLoginModule
Initialize the login module. This stores the subject, callbackHandler and sharedState and options for the login session. Subclasses should override if they need to process their own options. A call to super.initialize(...) must be made in the case of an override.

Specified by:
initialize in interface LoginModule
Overrides:
initialize in class AbstractPasswordCredentialLoginModule
Parameters:
subject - the Subject to update after a successful login.
handler - the CallbackHandler that will be used to obtain the the user identity and credentials.
sharedState - a Map shared between all configured login module instances
options - the parameters passed to the login module.

login

public boolean login()
              throws LoginException
Description copied from class: AbstractPasswordCredentialLoginModule
Return false if there is no mcf, else return super.login(). Override to provide custom authentication.

Specified by:
login in interface LoginModule
Overrides:
login in class AbstractPasswordCredentialLoginModule
Returns:
false if there is no mcf, else return super.login().
Throws:
LoginException - if an error occurs

commit

public boolean commit()
               throws LoginException
Description copied from class: AbstractServerLoginModule
Method to commit the authentication process (phase 2). If the login method completed successfully as indicated by loginOk == true, this method adds the getIdentity() value to the subject getPrincipals() Set. It also adds the members of each Group returned by getRoleSets() to the subject getPrincipals() Set.

Specified by:
commit in interface LoginModule
Overrides:
commit in class AbstractServerLoginModule
Returns:
true always.
Throws:
LoginException
See Also:
Subject;, Group;

abort

public boolean abort()
Description copied from class: AbstractServerLoginModule
Method to abort the authentication process (phase 2).

Specified by:
abort in interface LoginModule
Overrides:
abort in class AbstractServerLoginModule
Returns:
true alaways

getIdentity

protected Principal getIdentity()
Description copied from class: AbstractServerLoginModule
Overriden by subclasses to return the Principal that corresponds to the user primary identity.

Specified by:
getIdentity in class AbstractServerLoginModule

getRoleSets

protected Group[] getRoleSets()
                       throws LoginException
Description copied from class: AbstractServerLoginModule
Overriden by subclasses to return the Groups that correspond to the to the role sets assigned to the user. Subclasses should create at least a Group named "Roles" that contains the roles assigned to the user. A second common group is "CallerPrincipal" that provides the application identity of the user rather than the security domain identity.

Specified by:
getRoleSets in class AbstractServerLoginModule
Returns:
Group[] containing the sets of roles
Throws:
LoginException


Copyright © 2009 JBoss Inc.. All Rights Reserved.