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
,GSSRealm
,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 classes/interfaces inherited from class org.apache.catalina.realm.RealmBase
RealmBase.AllRolesMode
Nested classes/interfaces inherited from interface org.apache.catalina.Lifecycle
Lifecycle.SingleUse
-
Field Summary
Modifier and TypeFieldDescriptionprotected UserDatabase
TheUserDatabase
we will use to authenticate users and identify associated roles.protected static final String
Deprecated.This will be removed in Tomcat 9 onwards.protected String
The global JNDI name of theUserDatabase
resource 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, x509UsernameRetrieverClassName
Fields inherited from class org.apache.catalina.util.LifecycleMBeanBase
mserver
Fields 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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
CallsMemoryUserDatabase.backgroundProcess()
if the Realm is configured with a MemoryUserDatabase.boolean
Determines whether this Realm is configured to obtain the associatedUserDatabase
from the global JNDI context or a local (web application) JNDI context.protected String
getName()
Deprecated.protected String
getPassword
(String username) Get the password for the specified user.protected Principal
getPrincipal
(String username) Get the principal associated with the specified user.void
setLocalJndiResource
(boolean localJndiResource) Configure whether this Realm obtains the associatedUserDatabase
from the global JNDI context or a local (web application) JNDI context.void
setResourceName
(String resourceName) Set the global JNDI name of theUserDatabase
resource we will be using.protected void
Prepare for the beginning of active use of the public methods of this component and implement the requirements ofLifecycleBase.startInternal()
.protected void
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.RealmBase
addPropertyChangeListener, authenticate, authenticate, authenticate, authenticate, authenticate, authenticate, authenticate, Digest, 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, isAvailable, isStripRealmForGss, main, parseUserAttributes, removePropertyChangeListener, setAllRolesMode, setContainer, setCredentialHandler, setRealmPath, setStripRealmForGss, setTransportGuaranteeRedirectStatus, setUserAttributes, setValidate, setX509UsernameRetrieverClassName, toString
Methods inherited from class org.apache.catalina.util.LifecycleMBeanBase
destroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister
Methods 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
TheUserDatabase
we will use to authenticate users and identify associated roles. -
name
Deprecated.This will be removed in Tomcat 9 onwards.Descriptive information about this Realm implementation.- See Also:
-
resourceName
The global JNDI name of theUserDatabase
resource we will be utilizing.
-
-
Constructor Details
-
UserDatabaseRealm
public UserDatabaseRealm()
-
-
Method Details
-
getResourceName
- Returns:
- the global JNDI name of the
UserDatabase
resource we will be using.
-
setResourceName
Set the global JNDI name of theUserDatabase
resource we will be using.- Parameters:
resourceName
- The new global JNDI name
-
getLocalJndiResource
public boolean getLocalJndiResource()Determines whether this Realm is configured to obtain the associatedUserDatabase
from the global JNDI context or a local (web application) JNDI context.- Returns:
true
if a local JNDI context will be used,false
if the the global JNDI context will be used
-
setLocalJndiResource
public void setLocalJndiResource(boolean localJndiResource) Configure whether this Realm obtains the associatedUserDatabase
from the global JNDI context or a local (web application) JNDI context.- Parameters:
localJndiResource
-true
to use a local JNDI context,false
to use the global JNDI context
-
getName
Deprecated. -
backgroundProcess
public void backgroundProcess()CallsMemoryUserDatabase.backgroundProcess()
if the Realm is configured with a MemoryUserDatabase.- Specified by:
backgroundProcess
in interfaceRealm
- Overrides:
backgroundProcess
in classRealmBase
-
getPassword
Description copied from class:RealmBase
Get the password for the specified user.- Specified by:
getPassword
in classRealmBase
- Parameters:
username
- The user name- Returns:
- the password associated with the given principal's user name.
-
getPrincipal
Description copied from class:RealmBase
Get the principal associated with the specified user.- Specified by:
getPrincipal
in classRealmBase
- Parameters:
username
- The user name- Returns:
- the Principal associated with the given user name.
-
startInternal
Description copied from class:RealmBase
Prepare for the beginning of active use of the public methods of this component and implement the requirements ofLifecycleBase.startInternal()
.- Overrides:
startInternal
in classRealmBase
- Throws:
LifecycleException
- if this component detects a fatal error that prevents this component from being used
-
stopInternal
Description copied from class:RealmBase
Gracefully terminate the active use of the public methods of this component and implement the requirements ofLifecycleBase.stopInternal()
.- Overrides:
stopInternal
in classRealmBase
- Throws:
LifecycleException
- if this component detects a fatal error that needs to be reported
-