mirror of https://github.com/apache/cassandra
Minimize expensive reads during authz flow in 3.0/3.11
Patch by Sam Tunnicliffe; reviewed by Francisco Guerrero for CASSANDRA-20293
This commit is contained in:
parent
7c147ef80e
commit
0b6ae2673e
|
|
@ -1,4 +1,5 @@
|
|||
3.0.32
|
||||
* Minimise expensive reads during authz flow in 3.0/3.11 (CASSANDRA-20293)
|
||||
|
||||
|
||||
3.0.31
|
||||
|
|
|
|||
|
|
@ -364,9 +364,9 @@ public class ClientState
|
|||
if (((FunctionResource)resource).getKeyspace().equals(SystemKeyspace.NAME))
|
||||
return;
|
||||
|
||||
if (resource instanceof DataResource && !(user.isSuper() || user.isSystem()))
|
||||
if (resource instanceof DataResource)
|
||||
{
|
||||
DataResource dataResource = (DataResource)resource;
|
||||
DataResource dataResource = (DataResource) resource;
|
||||
if (!dataResource.isRootLevel())
|
||||
{
|
||||
String keyspace = dataResource.getKeyspace();
|
||||
|
|
@ -376,7 +376,8 @@ public class ClientState
|
|||
// see the Permission enum for details.
|
||||
if (Schema.isSystemKeyspace(keyspace))
|
||||
{
|
||||
ensurePermissionOnResourceChain(perm, Resources.chain(dataResource, IResource::hasParent));
|
||||
if (!(user.isSystem() || user.isSuper()))
|
||||
ensurePermissionOnResourceChain(perm, Resources.chain(dataResource, IResource::hasParent));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue