Apache Tomcat 6.0.41

org.apache.catalina.realm
Class JAASMemoryLoginModule

java.lang.Object
  extended by org.apache.catalina.realm.RealmBase
      extended by org.apache.catalina.realm.MemoryRealm
          extended by org.apache.catalina.realm.JAASMemoryLoginModule
All Implemented Interfaces:
javax.management.MBeanRegistration, javax.security.auth.spi.LoginModule, Lifecycle, Realm

public class JAASMemoryLoginModule
extends MemoryRealm
implements javax.security.auth.spi.LoginModule, Realm

Implementation of the JAAS LoginModule interface, primarily for use in testing JAASRealm. It utilizes an XML-format data file of username/password/role information identical to that supported by org.apache.catalina.realm.MemoryRealm (except that digested passwords are not supported).

This class recognizes the following string-valued options, which are specified in the configuration file (and passed to our constructor in the options argument:

IMPLEMENTATION NOTE - This class implements Realm only to satisfy the calling requirements of the GenericPrincipal constructor. It does not actually perform the functionality required of a Realm implementation.

Author:
Craig R. McClanahan

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.catalina.realm.RealmBase
RealmBase.AllRolesMode
 
Field Summary
protected  javax.security.auth.callback.CallbackHandler callbackHandler
          The callback handler responsible for answering our requests.
protected  boolean committed
          Has our own commit() returned successfully?
protected  java.util.Map options
          The configuration information for this LoginModule.
protected  java.lang.String pathname
          The absolute or relative pathname to the XML configuration file.
protected  java.security.Principal principal
          The Principal identified by our validation, or null if validation falied.
protected  java.util.HashMap principals
          The set of Principals loaded from our configuration file.
protected  java.util.Map sharedState
          The state information that is shared with other configured LoginModule instances.
protected static StringManager sm
          The string manager for this package.
protected  javax.security.auth.Subject subject
          The subject for which we are performing authentication.
 
Fields inherited from class org.apache.catalina.realm.MemoryRealm
info, name
 
Fields inherited from class org.apache.catalina.realm.RealmBase
allRolesMode, container, containerLog, controller, digest, digestEncoding, domain, host, initialized, lifecycle, md, md5Encoder, md5Helper, mserver, oname, path, realmPath, started, support, type, validate, x509UsernameRetriever, x509UsernameRetrieverClassName
 
Fields inherited from interface org.apache.catalina.Lifecycle
AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, DESTROY_EVENT, INIT_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT
 
Constructor Summary
JAASMemoryLoginModule()
           
 
Method Summary
 boolean abort()
          Phase 2 of authenticating a Subject when Phase 1 fails.
 boolean commit()
          Phase 2 of authenticating a Subject when Phase 1 was successful.
 SecurityConstraint[] findSecurityConstraints(Request request, Context context)
          Return the SecurityConstraints configured to guard the request URI for this request, or null if there is no such constraint.
 void initialize(javax.security.auth.Subject subject, javax.security.auth.callback.CallbackHandler callbackHandler, java.util.Map sharedState, java.util.Map options)
          Initialize this LoginModule with the specified configuration information.
protected  void load()
          Load the contents of our configuration file.
 boolean login()
          Phase 1 of authenticating a Subject.
 boolean logout()
          Log out this user.
 
Methods inherited from class org.apache.catalina.realm.MemoryRealm
authenticate, getDigester, getInfo, getName, getPassword, getPathname, getPrincipal, getPrincipals, setPathname, start, stop
 
Methods inherited from class org.apache.catalina.realm.RealmBase
addLifecycleListener, addPropertyChangeListener, authenticate, authenticate, authenticate, backgroundProcess, destroy, digest, Digest, findLifecycleListeners, getAllRolesMode, getContainer, getController, getDigest, getDigest, getDigestEncoding, getDomain, getObjectName, getPrincipal, getRealmPath, getRealmSuffix, getType, getValidate, getX509UsernameRetrieverClassName, hasMessageDigest, hasResourcePermission, hasRole, hasUserDataPermission, init, main, postDeregister, postRegister, preDeregister, preRegister, removeLifecycleListener, removePropertyChangeListener, setAllRolesMode, setContainer, setController, setDigest, setDigestEncoding, setRealmPath, setValidate, setX509UsernameRetrieverClassName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.catalina.Realm
addPropertyChangeListener, authenticate, authenticate, authenticate, authenticate, backgroundProcess, getContainer, getInfo, hasResourcePermission, hasRole, hasUserDataPermission, removePropertyChangeListener, setContainer
 

Field Detail

callbackHandler

protected javax.security.auth.callback.CallbackHandler callbackHandler
The callback handler responsible for answering our requests.


committed

protected boolean committed
Has our own commit() returned successfully?


options

protected java.util.Map options
The configuration information for this LoginModule.


pathname

protected java.lang.String pathname
The absolute or relative pathname to the XML configuration file.


principal

protected java.security.Principal principal
The Principal identified by our validation, or null if validation falied.


principals

protected java.util.HashMap principals
The set of Principals loaded from our configuration file.


sm

protected static StringManager sm
The string manager for this package.


sharedState

protected java.util.Map sharedState
The state information that is shared with other configured LoginModule instances.


subject

protected javax.security.auth.Subject subject
The subject for which we are performing authentication.

Constructor Detail

JAASMemoryLoginModule

public JAASMemoryLoginModule()
Method Detail

abort

public boolean abort()
              throws javax.security.auth.login.LoginException
Phase 2 of authenticating a Subject when Phase 1 fails. This method is called if the LoginContext failed somewhere in the overall authentication chain.

Specified by:
abort in interface javax.security.auth.spi.LoginModule
Returns:
true if this method succeeded, or false if this LoginModule should be ignored
Throws:
javax.security.auth.login.LoginException - if the abort fails

commit

public boolean commit()
               throws javax.security.auth.login.LoginException
Phase 2 of authenticating a Subject when Phase 1 was successful. This method is called if the LoginContext succeeded in the overall authentication chain.

Specified by:
commit in interface javax.security.auth.spi.LoginModule
Returns:
true if the authentication succeeded, or false if this LoginModule should be ignored
Throws:
javax.security.auth.login.LoginException - if the commit fails

findSecurityConstraints

public SecurityConstraint[] findSecurityConstraints(Request request,
                                                    Context context)
Return the SecurityConstraints configured to guard the request URI for this request, or null if there is no such constraint.

Specified by:
findSecurityConstraints in interface Realm
Overrides:
findSecurityConstraints in class RealmBase
Parameters:
request - Request we are processing
context - Context the Request is mapped to

initialize

public void initialize(javax.security.auth.Subject subject,
                       javax.security.auth.callback.CallbackHandler callbackHandler,
                       java.util.Map sharedState,
                       java.util.Map options)
Initialize this LoginModule with the specified configuration information.

Specified by:
initialize in interface javax.security.auth.spi.LoginModule
Parameters:
subject - The Subject to be authenticated
callbackHandler - A CallbackHandler for communicating with the end user as necessary
sharedState - State information shared with other LoginModule instances
options - Configuration information for this specific LoginModule instance

login

public boolean login()
              throws javax.security.auth.login.LoginException
Phase 1 of authenticating a Subject.

Specified by:
login in interface javax.security.auth.spi.LoginModule
Returns:
true if the authentication succeeded, or false if this LoginModule should be ignored
Throws:
javax.security.auth.login.LoginException - if the authentication fails

logout

public boolean logout()
               throws javax.security.auth.login.LoginException
Log out this user.

Specified by:
logout in interface javax.security.auth.spi.LoginModule
Returns:
true in all cases because thie LoginModule should not be ignored
Throws:
javax.security.auth.login.LoginException - if logging out failed

load

protected void load()
Load the contents of our configuration file.


Apache Tomcat 6.0.41

Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.