Class AbstractUser

java.lang.Object
org.apache.catalina.users.AbstractUser
All Implemented Interfaces:
Principal, User
Direct Known Subclasses:
MemoryUser

public abstract class AbstractUser extends Object implements User

Convenience base class for User implementations.

Since:
4.1
Author:
Craig R. McClanahan
  • Field Details

    • fullName

      protected String fullName
      The full name of this user.
    • password

      protected String password
      The logon password of this user.
    • username

      protected String username
      The logon username of this user.
  • Constructor Details

    • AbstractUser

      public AbstractUser()
  • Method Details

    • getFullName

      public String getFullName()
      Return the full name of this user.
      Specified by:
      getFullName in interface User
      Returns:
      the full name of this user.
    • setFullName

      public void setFullName(String fullName)
      Set the full name of this user.
      Specified by:
      setFullName in interface User
      Parameters:
      fullName - The new full name
    • getGroups

      public abstract Iterator<Group> getGroups()
      Return the set of Groups to which this user belongs.
      Specified by:
      getGroups in interface User
      Returns:
      the set of Groups to which this user belongs.
    • getPassword

      public String getPassword()
      Return the logon password of this user, optionally prefixed with the identifier of an encoding scheme surrounded by curly braces, such as {md5}xxxxx.
      Specified by:
      getPassword in interface User
      Returns:
      the logon password of this user, optionally prefixed with the identifier of an encoding scheme surrounded by curly braces, such as {md5}xxxxx.
    • setPassword

      public void setPassword(String password)
      Set the logon password of this user, optionally prefixed with the identifier of an encoding scheme surrounded by curly braces, such as {md5}xxxxx.
      Specified by:
      setPassword in interface User
      Parameters:
      password - The new logon password
    • getRoles

      public abstract Iterator<Role> getRoles()
      Return the set of Roles assigned specifically to this user.
      Specified by:
      getRoles in interface User
      Returns:
      the set of Roles assigned specifically to this user.
    • getUsername

      public String getUsername()
      Return the logon username of this user, which must be unique within the scope of a UserDatabase.
      Specified by:
      getUsername in interface User
      Returns:
      the logon username of this user, which must be unique within the scope of a UserDatabase.
    • setUsername

      public void setUsername(String username)
      Set the logon username of this user, which must be unique within the scope of a UserDatabase.
      Specified by:
      setUsername in interface User
      Parameters:
      username - The new logon username
    • addGroup

      public abstract void addGroup(Group group)
      Add a new Group to those this user belongs to.
      Specified by:
      addGroup in interface User
      Parameters:
      group - The new group
    • addRole

      public abstract void addRole(Role role)
      Add a new Role to those assigned specifically to this user.
      Specified by:
      addRole in interface User
      Parameters:
      role - The new role
    • isInGroup

      public abstract boolean isInGroup(Group group)
      Is this user in the specified Group?
      Specified by:
      isInGroup in interface User
      Parameters:
      group - The group to check
      Returns:
      true if the user is in the specified group
    • isInRole

      public abstract boolean isInRole(Role role)
      Is this user specifically assigned the specified Role? This method does NOT check for roles inherited based on Group membership.
      Specified by:
      isInRole in interface User
      Parameters:
      role - The role to check
      Returns:
      true if the user has the specified role
    • removeGroup

      public abstract void removeGroup(Group group)
      Remove a Group from those this user belongs to.
      Specified by:
      removeGroup in interface User
      Parameters:
      group - The old group
    • removeGroups

      public abstract void removeGroups()
      Remove all Groups from those this user belongs to.
      Specified by:
      removeGroups in interface User
    • removeRole

      public abstract void removeRole(Role role)
      Remove a Role from those assigned to this user.
      Specified by:
      removeRole in interface User
      Parameters:
      role - The old role
    • removeRoles

      public abstract void removeRoles()
      Remove all Roles from those assigned to this user.
      Specified by:
      removeRoles in interface User
    • getName

      public String getName()
      Make the principal name the same as the group name.
      Specified by:
      getName in interface Principal