Package org.apache.catalina.realm
Class JAASMemoryLoginModule
java.lang.Object
org.apache.catalina.util.LifecycleBase
org.apache.catalina.util.LifecycleMBeanBase
org.apache.catalina.realm.RealmBase
org.apache.catalina.realm.MemoryRealm
org.apache.catalina.realm.JAASMemoryLoginModule
- All Implemented Interfaces:
- MBeanRegistration,- LoginModule,- Contained,- JmxEnabled,- Lifecycle,- 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.
 
 This class recognizes the following string-valued options, which are specified in the configuration file and passed
 to initialize(Subject, CallbackHandler, Map, Map) in the options argument:
 
- pathname - Relative (to the pathname specified by the "catalina.base" system property) or
 absolute pathname to the XML file containing our user information, in the format supported by MemoryRealm. The default value matches the MemoryRealm default.
- credentialHandlerClassName - The fully qualified class name of the CredentialHandler to use. If
 not specified, MessageDigestCredentialHandlerwill be used.
- Any additional options will be used to identify and call setters on the CredentialHandler. For example,algorithm=SHA256would result in a call toMessageDigestCredentialHandler.setAlgorithm(String)with a parameter of"SHA256"
 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 SummaryNested classes/interfaces inherited from class org.apache.catalina.realm.RealmBaseRealmBase.AllRolesModeNested classes/interfaces inherited from interface org.apache.catalina.LifecycleLifecycle.SingleUse
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected CallbackHandlerThe callback handler responsible for answering our requests.protected booleanHas our owncommit()returned successfully?The configuration information for thisLoginModule.protected StringThe absolute or relative pathname to the XML configuration file.protected PrincipalThePrincipalidentified by our validation, ornullif validation failed.The state information that is shared with other configuredLoginModuleinstances.protected SubjectThe subject for which we are performing authentication.Fields inherited from class org.apache.catalina.realm.RealmBaseallRolesMode, container, containerLog, realmPath, sm, stripRealmForGss, support, USER_ATTRIBUTES_DELIMITER, USER_ATTRIBUTES_WILDCARD, userAttributes, userAttributesList, validate, x509UsernameRetriever, x509UsernameRetrieverClassNameFields inherited from interface org.apache.catalina.LifecycleAFTER_DESTROY_EVENT, AFTER_INIT_EVENT, AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_DESTROY_EVENT, BEFORE_INIT_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, CONFIGURE_START_EVENT, CONFIGURE_STOP_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT
- 
Constructor SummaryConstructors
- 
Method SummaryMethods inherited from class org.apache.catalina.realm.MemoryRealmauthenticate, getDigester, getPassword, getPathname, getPrincipal, setPathname, startInternalMethods inherited from class org.apache.catalina.realm.RealmBaseaddPropertyChangeListener, authenticate, authenticate, authenticate, authenticate, authenticate, authenticate, backgroundProcess, findSecurityConstraints, getAllRolesMode, getContainer, getCredentialHandler, getDigest, getDigest, getDomainInternal, getObjectNameKeyProperties, getPrincipal, getPrincipal, getRealmPath, getRealmSuffix, getServer, getTransportGuaranteeRedirectStatus, getUserAttributes, getValidate, getX509UsernameRetrieverClassName, hasMessageDigest, hasResourcePermission, hasRole, hasRoleInternal, hasUserDataPermission, initInternal, isStripRealmForGss, main, parseUserAttributes, removePropertyChangeListener, setAllRolesMode, setContainer, setCredentialHandler, setRealmPath, setStripRealmForGss, setTransportGuaranteeRedirectStatus, setUserAttributes, setValidate, setX509UsernameRetrieverClassName, stopInternal, toStringMethods inherited from class org.apache.catalina.util.LifecycleMBeanBasedestroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister, unregisterMethods inherited from class org.apache.catalina.util.LifecycleBaseaddLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stopMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.catalina.RealmisAvailable
- 
Field Details- 
callbackHandlerThe callback handler responsible for answering our requests.
- 
committedprotected boolean committedHas our owncommit()returned successfully?
- 
optionsThe configuration information for thisLoginModule.
- 
pathnameThe absolute or relative pathname to the XML configuration file.
- 
principalThePrincipalidentified by our validation, ornullif validation failed.
- 
subjectThe subject for which we are performing authentication.
 
- 
- 
Constructor Details- 
JAASMemoryLoginModulepublic JAASMemoryLoginModule()
 
- 
- 
Method Details- 
abort- Specified by:
- abortin interface- LoginModule
- Throws:
- LoginException
 
- 
commit- Specified by:
- commitin interface- LoginModule
- Throws:
- LoginException
 
- 
initializepublic void initialize(Subject subject, CallbackHandler callbackHandler, Map<String, ?> sharedState, Map<String, ?> options) - Specified by:
- initializein interface- LoginModule
 
- 
login- Specified by:
- loginin interface- LoginModule
- Throws:
- LoginException
 
- 
logout- Specified by:
- logoutin interface- LoginModule
- Throws:
- LoginException
 
- 
loadprotected void load()Load the contents of our configuration file.
 
-