Class MemoryRealm

  • All Implemented Interfaces:, Contained, GSSRealm, JmxEnabled, Lifecycle, Realm
    Direct Known Subclasses:

    public class MemoryRealm
    extends RealmBase
    Simple implementation of Realm that reads an XML file to configure the valid users, passwords, and roles. The file format (and default file location) are identical to those currently supported by Tomcat 3.X.

    IMPLEMENTATION NOTE: It is assumed that the in-memory collection representing our defined users (and their roles) is initialized at application startup and never modified again. Therefore, no thread synchronization is performed around accesses to the principals collection.

    Craig R. McClanahan
    • Field Detail

      • name

        protected static final java.lang.String name
        This will be removed in Tomcat 9 onwards.
        Descriptive information about this Realm implementation.
        See Also:
        Constant Field Values
    • Constructor Detail

      • MemoryRealm

        public MemoryRealm()
    • Method Detail

      • getPathname

        public java.lang.String getPathname()
        the pathname of our XML file containing user definitions.
      • setPathname

        public void setPathname​(java.lang.String pathname)
        Set the pathname of our XML file containing user definitions. If a relative pathname is specified, it is resolved against "catalina.base".
        pathname - The new pathname
      • authenticate

        public authenticate​(java.lang.String username,
                                                    java.lang.String credentials)
        Description copied from interface: Realm
        Try to authenticate using the specified username and credentials.
        Specified by:
        authenticate in interface Realm
        authenticate in class RealmBase
        username - Username of the Principal to look up
        credentials - Password or other credentials to use in authenticating this username
        the associated principal, or null if there is none
      • getDigester

        protected Digester getDigester()
        a configured Digester to use for processing the XML input file, creating a new one if necessary.
      • getName

        protected java.lang.String getName()
        Specified by:
        getName in class RealmBase
        a short name for this Realm implementation, for use in log messages.
      • getPassword

        protected java.lang.String getPassword​(java.lang.String username)
        Description copied from class: RealmBase
        Get the password for the specified user.
        Specified by:
        getPassword in class RealmBase
        username - The user name
        the password associated with the given principal's user name.
      • getPrincipal

        protected getPrincipal​(java.lang.String username)
        Description copied from class: RealmBase
        Get the principal associated with the specified user.
        Specified by:
        getPrincipal in class RealmBase
        username - The user name
        the Principal associated with the given user name.