public class UserDatabaseRealm extends RealmBase
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.RealmBase.AllRolesMode
Lifecycle.SingleUse
Modifier and Type | Field and Description |
---|---|
protected UserDatabase |
database
The
UserDatabase we will use to authenticate users and
identify associated roles. |
protected String |
resourceName
The global JNDI name of the
UserDatabase resource we will be
utilizing. |
allRolesMode, container, containerLog, realmPath, sm, stripRealmForGss, support, validate, x509UsernameRetriever, x509UsernameRetrieverClassName
mserver
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 and Description |
---|
UserDatabaseRealm() |
Modifier and Type | Method and Description |
---|---|
void |
backgroundProcess()
Execute a periodic task, such as reloading, etc.
|
boolean |
getLocalJndiResource()
Determines whether this Realm is configured to obtain the associated
UserDatabase from the global JNDI context or a local (web
application) JNDI context. |
protected String |
getPassword(String username)
Return the password associated with the given principal's user name.
|
protected Principal |
getPrincipal(String username)
Return the Principal associated with the given user name.
|
String |
getResourceName() |
boolean |
hasRole(Wrapper wrapper,
Principal principal,
String role)
Return
true if the specified Principal has the specified
security role, within the context of this Realm; otherwise return
false . |
void |
setLocalJndiResource(boolean localJndiResource)
Configure whether this Realm obtains the associated
UserDatabase
from the global JNDI context or a local (web application) JNDI context. |
void |
setResourceName(String resourceName)
Set the global JNDI name of the
UserDatabase resource we
will be using. |
protected void |
startInternal()
Prepare for the beginning of active use of the public methods of this
component and implement the requirements of
LifecycleBase.startInternal() . |
protected void |
stopInternal()
Gracefully terminate the active use of the public methods of this
component and implement the requirements of
LifecycleBase.stopInternal() . |
addPropertyChangeListener, authenticate, authenticate, authenticate, authenticate, authenticate, authenticate, findSecurityConstraints, getAllRolesMode, getContainer, getCredentialHandler, getDigest, getDomainInternal, getObjectNameKeyProperties, getPrincipal, getPrincipal, getPrincipal, getRealmPath, getRealmSuffix, getRoles, getServer, getTransportGuaranteeRedirectStatus, getValidate, getX509UsernameRetrieverClassName, hasMessageDigest, hasResourcePermission, hasRoleInternal, hasUserDataPermission, initInternal, isStripRealmForGss, main, removePropertyChangeListener, setAllRolesMode, setContainer, setCredentialHandler, setRealmPath, setStripRealmForGss, setTransportGuaranteeRedirectStatus, setValidate, setX509UsernameRetrieverClassName, toString
destroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister, unregister
addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stop
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
isAvailable
protected volatile UserDatabase database
UserDatabase
we will use to authenticate users and
identify associated roles.protected String resourceName
UserDatabase
resource we will be
utilizing.public String getResourceName()
UserDatabase
resource we
will be using.public void setResourceName(String resourceName)
UserDatabase
resource we
will be using.resourceName
- The new global JNDI namepublic boolean getLocalJndiResource()
UserDatabase
from the global JNDI context or a local (web
application) JNDI context.true
if a local JNDI context will be used, false
if the the global JNDI context will be usedpublic void setLocalJndiResource(boolean localJndiResource)
UserDatabase
from the global JNDI context or a local (web application) JNDI context.localJndiResource
- true
to use a local JNDI context,
false
to use the global JNDI contextpublic boolean hasRole(Wrapper wrapper, Principal principal, String role)
true
if the specified Principal has the specified
security role, within the context of this Realm; otherwise return
false
. This implementation returns true
if the
User
has the role, or if any Group
that the
User
is a member of has the role.hasRole
in interface Realm
hasRole
in class RealmBase
principal
- Principal for whom the role is to be checkedrole
- Security role to be checkedwrapper
- wrapper context for evaluating roletrue
if the specified Principal has the specified
security role, within the context of this Realm; otherwise return
false
.public void backgroundProcess()
RealmBase
backgroundProcess
in interface Realm
backgroundProcess
in class RealmBase
protected String getPassword(String username)
getPassword
in class RealmBase
username
- The user nameprotected Principal getPrincipal(String username)
getPrincipal
in class RealmBase
username
- The user nameprotected void startInternal() throws LifecycleException
RealmBase
LifecycleBase.startInternal()
.startInternal
in class RealmBase
LifecycleException
- if this component detects a fatal error
that prevents this component from being usedprotected void stopInternal() throws LifecycleException
LifecycleBase.stopInternal()
.stopInternal
in class RealmBase
LifecycleException
- if this component detects a fatal error
that needs to be reportedCopyright © 2000-2020 Apache Software Foundation. All Rights Reserved.