Package org.apache.cassandra.auth
Class AuthenticatedUser
java.lang.Object
org.apache.cassandra.auth.AuthenticatedUser
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 Summary
FieldsModifier and TypeFieldDescriptionstatic final AuthenticatedUserstatic final Stringstatic final NetworkPermissionsCachestatic final PermissionsCachestatic final AuthenticatedUserstatic final String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleancanLogin()Check whether this user has login privileges.booleangetName()getPermissions(IResource resource) Get the detailed info on roles granted to the user via IRoleManagergetRoles()Get the roles that have been granted to the user via the IRoleManagerbooleanhasAccessFromIp(InetSocketAddress remoteAddress) inthashCode()booleanVerify that there is not DC level restriction on this user accessing this node.static voidinit()UseAuthCacheService.initializeAndRegisterCaches()rather than calling this directlybooleanIf IAuthenticator doesn't require authentication, this method may return true.booleanisSuper()Checks the user's superuser status.booleanisSystem()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()toString()
-
Field Details
-
SYSTEM_USERNAME
- See Also:
-
SYSTEM_USER
-
ANONYMOUS_USERNAME
- See Also:
-
ANONYMOUS_USER
-
permissionsCache
-
networkPermissionsCache
-
-
Constructor Details
-
AuthenticatedUser
-
-
Method Details
-
init
public static void init()UseAuthCacheService.initializeAndRegisterCaches()rather than calling this directly -
getName
-
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
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
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
-
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
-
toString
-
equals
-
hashCode
public int hashCode()
-