Package org.apache.catalina.realm
Class UserDatabaseRealm
- java.lang.Object
- 
- org.apache.catalina.util.LifecycleBase
- 
- org.apache.catalina.util.LifecycleMBeanBase
- 
- org.apache.catalina.realm.RealmBase
- 
- org.apache.catalina.realm.UserDatabaseRealm
 
 
 
 
- 
- All Implemented Interfaces:
- javax.management.MBeanRegistration,- Contained,- JmxEnabled,- Lifecycle,- Realm
 
 public class UserDatabaseRealm extends RealmBase Implementation ofRealmthat is based on an implementation ofUserDatabasemade available through the JNDI resources configured for this instance of Catalina. Set theresourceNameparameter to the JNDI resources name for the configured instance ofUserDatabasethat we should consult.- Since:
- 4.1
- Author:
- Craig R. McClanahan
 
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description static classUserDatabaseRealm.UserDatabasePrincipal- 
Nested classes/interfaces inherited from class org.apache.catalina.realm.RealmBaseRealmBase.AllRolesMode
 - 
Nested classes/interfaces inherited from interface org.apache.catalina.LifecycleLifecycle.SingleUse
 
- 
 - 
Field SummaryFields Modifier and Type Field Description protected UserDatabasedatabaseTheUserDatabasewe will use to authenticate users and identify associated roles.protected java.lang.StringresourceNameThe global JNDI name of theUserDatabaseresource we will be utilizing.- 
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, x509UsernameRetrieverClassName
 - 
Fields inherited from class org.apache.catalina.util.LifecycleMBeanBasemserver
 - 
Fields 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 Constructor Description UserDatabaseRealm()
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbackgroundProcess()booleangetLocalJndiResource()Determines whether this Realm is configured to obtain the associatedUserDatabasefrom the global JNDI context or a local (web application) JNDI context.protected java.lang.StringgetPassword(java.lang.String username)Get the password for the specified user.protected java.security.PrincipalgetPrincipal(java.lang.String username)Get the principal associated with the specified user.java.lang.StringgetResourceName()static java.lang.String[]getRoles(User user)booleangetUseStaticPrincipal()booleanisAvailable()Return the availability of the realm for authentication.voidsetLocalJndiResource(boolean localJndiResource)Configure whether this Realm obtains the associatedUserDatabasefrom the global JNDI context or a local (web application) JNDI context.voidsetResourceName(java.lang.String resourceName)Set the global JNDI name of theUserDatabaseresource we will be using.voidsetUseStaticPrincipal(boolean useStaticPrincipal)Allows using a static principal disconnected from the user database.protected voidstartInternal()Prepare for the beginning of active use of the public methods of this component and implement the requirements ofLifecycleBase.startInternal().protected voidstopInternal()Gracefully terminate the active use of the public methods of this component and implement the requirements ofLifecycleBase.stopInternal().- 
Methods inherited from class org.apache.catalina.realm.RealmBaseaddPropertyChangeListener, authenticate, authenticate, authenticate, authenticate, authenticate, authenticate, authenticate, findSecurityConstraints, getAllRolesMode, getContainer, getCredentialHandler, getDigest, getDigest, getDomainInternal, getObjectNameKeyProperties, getPrincipal, getPrincipal, getPrincipal, getRealmPath, getRealmSuffix, getRoles, getServer, getTransportGuaranteeRedirectStatus, getUserAttributes, getValidate, getX509UsernameRetrieverClassName, hasMessageDigest, hasResourcePermission, hasRole, hasRoleInternal, hasUserDataPermission, initInternal, isStripRealmForGss, main, parseUserAttributes, removePropertyChangeListener, setAllRolesMode, setContainer, setCredentialHandler, setRealmPath, setStripRealmForGss, setTransportGuaranteeRedirectStatus, setUserAttributes, setValidate, setX509UsernameRetrieverClassName, toString
 - 
Methods inherited from class org.apache.catalina.util.LifecycleMBeanBasedestroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister, unregister
 - 
Methods inherited from class org.apache.catalina.util.LifecycleBaseaddLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stop
 
- 
 
- 
- 
- 
Field Detail- 
databaseprotected volatile UserDatabase database TheUserDatabasewe will use to authenticate users and identify associated roles.
 - 
resourceNameprotected java.lang.String resourceName The global JNDI name of theUserDatabaseresource we will be utilizing.
 
- 
 - 
Method Detail- 
getResourceNamepublic java.lang.String getResourceName() - Returns:
- the global JNDI name of the UserDatabaseresource we will be using.
 
 - 
setResourceNamepublic void setResourceName(java.lang.String resourceName) Set the global JNDI name of theUserDatabaseresource we will be using.- Parameters:
- resourceName- The new global JNDI name
 
 - 
getUseStaticPrincipalpublic boolean getUseStaticPrincipal() - Returns:
- the useStaticPrincipal flag
 
 - 
setUseStaticPrincipalpublic void setUseStaticPrincipal(boolean useStaticPrincipal) Allows using a static principal disconnected from the user database.- Parameters:
- useStaticPrincipal- the new value
 
 - 
getLocalJndiResourcepublic boolean getLocalJndiResource() Determines whether this Realm is configured to obtain the associatedUserDatabasefrom the global JNDI context or a local (web application) JNDI context.- Returns:
- trueif a local JNDI context will be used,- falseif the the global JNDI context will be used
 
 - 
setLocalJndiResourcepublic void setLocalJndiResource(boolean localJndiResource) Configure whether this Realm obtains the associatedUserDatabasefrom the global JNDI context or a local (web application) JNDI context.- Parameters:
- localJndiResource-- trueto use a local JNDI context,- falseto use the global JNDI context
 
 - 
backgroundProcesspublic void backgroundProcess() - Specified by:
- backgroundProcessin interface- Realm
- Overrides:
- backgroundProcessin class- RealmBase
 
 - 
getPasswordprotected java.lang.String getPassword(java.lang.String username) Description copied from class:RealmBaseGet the password for the specified user.- Specified by:
- getPasswordin class- RealmBase
- Parameters:
- username- The user name
- Returns:
- the password associated with the given principal's user name.
 
 - 
getRolespublic static java.lang.String[] getRoles(User user) 
 - 
getPrincipalprotected java.security.Principal getPrincipal(java.lang.String username) Description copied from class:RealmBaseGet the principal associated with the specified user.- Specified by:
- getPrincipalin class- RealmBase
- Parameters:
- username- The user name
- Returns:
- the Principal associated with the given user name.
 
 - 
startInternalprotected void startInternal() throws LifecycleExceptionDescription copied from class:RealmBasePrepare for the beginning of active use of the public methods of this component and implement the requirements ofLifecycleBase.startInternal().- Overrides:
- startInternalin class- RealmBase
- Throws:
- LifecycleException- if this component detects a fatal error that prevents this component from being used
 
 - 
stopInternalprotected void stopInternal() throws LifecycleExceptionDescription copied from class:RealmBaseGracefully terminate the active use of the public methods of this component and implement the requirements ofLifecycleBase.stopInternal().- Overrides:
- stopInternalin class- RealmBase
- Throws:
- LifecycleException- if this component detects a fatal error that needs to be reported
 
 - 
isAvailablepublic boolean isAvailable() Description copied from interface:RealmReturn the availability of the realm for authentication.- Returns:
- trueif the realm is able to perform authentication
 
 
- 
 
-