Class AuthenticatedUser

java.lang.Object
org.apache.cassandra.auth.AuthenticatedUser

public class AuthenticatedUser extends Object
Returned from IAuthenticator#authenticate(), represents an authenticated user everywhere internally. Holds the name of the user and the roles that have been granted to the user. The roles will be cached for roles_validity.
  • Field Details

  • Constructor Details

    • AuthenticatedUser

      public AuthenticatedUser(String name)
  • Method Details

    • init

      public static void init()
      Use AuthCacheService.initializeAndRegisterCaches() rather than calling this directly
    • getName

      public String getName()
    • getPrimaryRole

      public RoleResource getPrimaryRole()
    • isSuper

      public boolean isSuper()
      Checks the user's superuser status. Only a superuser is allowed to perform CREATE USER and DROP USER queries. Im most cased, though not necessarily, a superuser will have Permission.ALL on every resource (depends on IAuthorizer implementation).
    • isAnonymous

      public boolean isAnonymous()
      If IAuthenticator doesn't require authentication, this method may return true.
    • isSystem

      public boolean isSystem()
      Some internal operations are performed on behalf of Cassandra itself, in those cases the system user should be used where an identity is required see CreateRoleStatement#execute() and overrides of AlterSchemaStatement#createdResources()
    • getRoles

      public Set<RoleResource> getRoles()
      Get the roles that have been granted to the user via the IRoleManager
      Returns:
      a set of identifiers for the roles that have been granted to the user
    • getRoleDetails

      public Set<Role> getRoleDetails()
      Get the detailed info on roles granted to the user via IRoleManager
      Returns:
      a set of Role objects detailing the roles granted to the user
    • getPermissions

      public Set<Permission> getPermissions(IResource resource)
    • canLogin

      public boolean canLogin()
      Check whether this user has login privileges. LOGIN is not inherited from granted roles, so must be directly granted to the primary role for this user
      Returns:
      true if the user is permitted to login, false otherwise.
    • hasLocalAccess

      public boolean hasLocalAccess()
      Verify that there is not DC level restriction on this user accessing this node. Further extends the login privilege check by verifying that the primary role for this user is permitted to perform operations in the local (to this node) datacenter. Like LOGIN, this is not inherited from granted roles.
      Returns:
      true if the user is permitted to access nodes in this node's datacenter, false otherwise
    • hasAccessFromIp

      public boolean hasAccessFromIp(InetSocketAddress remoteAddress)
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object