Apache Tomcat 6.0.51

## org.apache.catalina.realm
Class UserDatabaseRealm

    java.lang.Object
      org.apache.catalina.realm.RealmBase
          org.apache.catalina.realm.UserDatabaseRealm

All Implemented Interfaces:
  javax.management.MBeanRegistration, 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
Author:
  Craig R. McClanahan

Nested Class Summary

Nested classes/interfaces inherited from class org.apache.catalina.realm.RealmBase
`RealmBase.AllRolesMode`

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
`allRolesMode, container, containerLog, controller, digest, digestEncoding, domain, host, initialized, lifecycle, md, md5Encoder, md5Helper, mserver, oname, path, realmPath, started, support, type, validate, x509UsernameRetriever, x509UsernameRetrieverClassName`

Fields inherited from interface org.apache.catalina.Lifecycle
`AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, DESTROY_EVENT, INIT_EVENT, PERIODIC_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, backgroundProcess, destroy, digest, Digest, findLifecycleListeners, findSecurityConstraints, getAllRolesMode, getContainer, getController, getDigest, getDigest, getDigestEncoding, getDomain, getObjectName, getPrincipal, getRealmPath, getRealmSuffix, getType, getValidate, getX509UsernameRetrieverClassName, hasMessageDigest, hasResourcePermission, hasUserDataPermission, init, main, postDeregister, postRegister, preDeregister, preRegister, removeLifecycleListener, removePropertyChangeListener, setAllRolesMode, setContainer, setController, setDigest, setDigestEncoding, setRealmPath, setValidate, setX509UsernameRetrieverClassName`

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

Apache Tomcat 6.0.51

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