org.apache.catalina.realm
Class UserDatabaseRealm

java.lang.Object
  extended byorg.apache.catalina.realm.RealmBase
      extended byorg.apache.catalina.realm.UserDatabaseRealm
All Implemented Interfaces:
Lifecycle, Realm

public class UserDatabaseRealm
extends RealmBase

Implementation of Realm that is based on an implementation of UserDatabase made available through the global JNDI resources configured for this instance of Catalina. Set the resourceName parameter to the global JNDI resources name for the configured instance of UserDatabase that we should consult.

Since:
4.1
Version:
$Revision: 466595 $ $Date: 2006-10-21 23:24:41 +0100 (Sat, 21 Oct 2006) $
Author:
Craig R. McClanahan

Field Summary
protected  UserDatabase database
          The UserDatabase we will use to authenticate users and identify associated roles.
protected  java.lang.String info
          Descriptive information about this Realm implementation.
protected static java.lang.String name
          Descriptive information about this Realm implementation.
protected  java.lang.String resourceName
          The global JNDI name of the UserDatabase resource we will be utilizing.
 
Fields inherited from class org.apache.catalina.realm.RealmBase
container, debug, digest, digestEncoding, lifecycle, md, md5Encoder, md5Helper, started, support, validate
 
Fields inherited from interface org.apache.catalina.Lifecycle
AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, START_EVENT, STOP_EVENT
 
Constructor Summary
UserDatabaseRealm()
           
 
Method Summary
 java.lang.String getInfo()
          Return descriptive information about this Realm implementation and the corresponding version number, in the format <description>/<version>.
protected  java.lang.String getName()
          Return a short name for this Realm implementation.
protected  java.lang.String getPassword(java.lang.String username)
          Return the password associated with the given principal's user name.
protected  java.security.Principal getPrincipal(java.lang.String username)
          Return the Principal associated with the given user name.
 java.lang.String getResourceName()
          Return the global JNDI name of the UserDatabase resource we will be using.
 boolean hasRole(java.security.Principal principal, java.lang.String role)
          Return true if the specified Principal has the specified security role, within the context of this Realm; otherwise return false.
 void setResourceName(java.lang.String resourceName)
          Set the global JNDI name of the UserDatabase resource we will be using.
 void start()
          Prepare for active use of the public methods of this Component.
 void stop()
          Gracefully shut down active use of the public methods of this Component.
 
Methods inherited from class org.apache.catalina.realm.RealmBase
addLifecycleListener, addPropertyChangeListener, authenticate, authenticate, authenticate, authenticate, digest, Digest, findLifecycleListeners, getContainer, getDebug, getDigest, getDigest, getDigestEncoding, getPrincipal, getValidate, hasMessageDigest, log, log, main, removeLifecycleListener, removePropertyChangeListener, setContainer, setDebug, setDigest, setDigestEncoding, setValidate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

database

protected UserDatabase database
The UserDatabase we will use to authenticate users and identify associated roles.


info

protected final java.lang.String info
Descriptive information about this Realm implementation.

See Also:
Constant Field Values

name

protected static final java.lang.String name
Descriptive information about this Realm implementation.

See Also:
Constant Field Values

resourceName

protected java.lang.String resourceName
The global JNDI name of the UserDatabase resource we will be utilizing.

Constructor Detail

UserDatabaseRealm

public UserDatabaseRealm()
Method Detail

getInfo

public java.lang.String getInfo()
Return descriptive information about this Realm implementation and the corresponding version number, in the format <description>/<version>.

Specified by:
getInfo in interface Realm
Overrides:
getInfo in class RealmBase

getResourceName

public java.lang.String getResourceName()
Return the global JNDI name of the UserDatabase resource we will be using.


setResourceName

public void setResourceName(java.lang.String resourceName)
Set the global JNDI name of the UserDatabase resource we will be using.

Parameters:
resourceName - The new global JNDI name

hasRole

public boolean hasRole(java.security.Principal principal,
                       java.lang.String role)
Return 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.

Specified by:
hasRole in interface Realm
Overrides:
hasRole in class RealmBase
Parameters:
principal - Principal for whom the role is to be checked
role - Security role to be checked

getName

protected java.lang.String getName()
Return a short name for this Realm implementation.

Specified by:
getName in class RealmBase

getPassword

protected java.lang.String getPassword(java.lang.String username)
Return the password associated with the given principal's user name.

Specified by:
getPassword in class RealmBase

getPrincipal

protected java.security.Principal getPrincipal(java.lang.String username)
Return the Principal associated with the given user name.

Specified by:
getPrincipal in class RealmBase

start

public void start()
           throws LifecycleException
Prepare for active use of the public methods of this Component.

Specified by:
start in interface Lifecycle
Overrides:
start in class RealmBase
Throws:
LifecycleException - if this component detects a fatal error that prevents it from being started

stop

public void stop()
          throws LifecycleException
Gracefully shut down active use of the public methods of this Component.

Specified by:
stop in interface Lifecycle
Overrides:
stop in class RealmBase
Throws:
LifecycleException - if this component detects a fatal error that needs to be reported


Copyright © 2000-2002 Apache Software Foundation. All Rights Reserved.