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:
MBeanRegistration,Contained,JmxEnabled,Lifecycle,Realm
Implementation of
Realm that is based on an implementation of UserDatabase made
available through the JNDI resources configured for this instance of Catalina. Set the resourceName
parameter to the JNDI resources name for the configured instance of UserDatabase that we should consult.- Since:
- 4.1
- Author:
- Craig R. McClanahan
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.apache.catalina.realm.RealmBase
RealmBase.AllRolesModeNested classes/interfaces inherited from interface org.apache.catalina.Lifecycle
Lifecycle.SingleUse -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected UserDatabaseTheUserDatabasewe will use to authenticate users and identify associated roles.protected StringThe global JNDI name of theUserDatabaseresource we will be utilizing.Fields inherited from class org.apache.catalina.realm.RealmBase
allRolesMode, container, containerLog, realmPath, sm, stripRealmForGss, support, USER_ATTRIBUTES_DELIMITER, USER_ATTRIBUTES_WILDCARD, userAttributes, userAttributesList, validate, x509UsernameRetriever, x509UsernameRetrieverClassNameFields inherited from interface org.apache.catalina.Lifecycle
AFTER_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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidbooleanDetermines whether this Realm is configured to obtain the associatedUserDatabasefrom the global JNDI context or a local (web application) JNDI context.protected StringgetPassword(String username) Get the password for the specified user.protected PrincipalgetPrincipal(String username) Get the principal associated with the specified user.static String[]booleanbooleanReturn 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(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 voidPrepare for the beginning of active use of the public methods of this component and implement the requirements ofLifecycleBase.startInternal().protected voidGracefully 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.RealmBase
addPropertyChangeListener, authenticate, authenticate, authenticate, authenticate, authenticate, authenticate, authenticate, 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, toStringMethods inherited from class org.apache.catalina.util.LifecycleMBeanBase
destroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister, unregisterMethods inherited from class org.apache.catalina.util.LifecycleBase
addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stop
-
Field Details
-
database
TheUserDatabasewe will use to authenticate users and identify associated roles. -
resourceName
The global JNDI name of theUserDatabaseresource we will be utilizing.
-
-
Constructor Details
-
UserDatabaseRealm
public UserDatabaseRealm()
-
-
Method Details
-
getResourceName
- Returns:
- the global JNDI name of the
UserDatabaseresource we will be using.
-
setResourceName
Set the global JNDI name of theUserDatabaseresource we will be using.- Parameters:
resourceName- The new global JNDI name
-
getUseStaticPrincipal
public boolean getUseStaticPrincipal()- Returns:
- the useStaticPrincipal flag
-
setUseStaticPrincipal
public void setUseStaticPrincipal(boolean useStaticPrincipal) Allows using a static principal disconnected from the user database.- Parameters:
useStaticPrincipal- the new value
-
getLocalJndiResource
public 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
-
setLocalJndiResource
public 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
-
backgroundProcess
public void backgroundProcess()- Specified by:
backgroundProcessin interfaceRealm- Overrides:
backgroundProcessin classRealmBase
-
getPassword
Description copied from class:RealmBaseGet the password for the specified user.- Specified by:
getPasswordin classRealmBase- Parameters:
username- The user name- Returns:
- the password associated with the given principal's user name.
-
getRoles
-
getPrincipal
Description copied from class:RealmBaseGet the principal associated with the specified user.- Specified by:
getPrincipalin classRealmBase- Parameters:
username- The user name- Returns:
- the Principal associated with the given user name.
-
startInternal
Description 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 classRealmBase- Throws:
LifecycleException- if this component detects a fatal error that prevents this component from being used
-
stopInternal
Description copied from class:RealmBaseGracefully terminate the active use of the public methods of this component and implement the requirements ofLifecycleBase.stopInternal().- Overrides:
stopInternalin classRealmBase- Throws:
LifecycleException- if this component detects a fatal error that needs to be reported
-
isAvailable
public boolean isAvailable()Description copied from interface:RealmReturn the availability of the realm for authentication.- Returns:
trueif the realm is able to perform authentication
-