Class UserDatabaseRealm

  • All Implemented Interfaces:
    javax.management.MBeanRegistration, Contained, JmxEnabled, 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
    • Field Detail

      • database

        protected UserDatabase database
        The UserDatabase we will use to authenticate users and identify associated roles.
      • 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

      • getResourceName

        public java.lang.String getResourceName()
        Returns:
        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​(Wrapper wrapper,
                               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
        wrapper - wrapper context for evaluating role
        Returns:
        true if the specified Principal has the specified security role, within the context of this Realm; otherwise return false.
      • backgroundProcess

        public void backgroundProcess()
        Description copied from class: RealmBase
        Execute a periodic task, such as reloading, etc. This method will be invoked inside the classloading context of this container. Unexpected throwables will be caught and logged.
        Specified by:
        backgroundProcess in interface Realm
        Overrides:
        backgroundProcess 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
        Parameters:
        username - The user name
        Returns:
        the password associated with the given principal's user name.
      • 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
        Parameters:
        username - The user name
        Returns:
        the Principal associated with the given user name.