【发布时间】:2026-01-22 11:30:01
【问题描述】:
我的权限图如下所示:
在这种情况下,
-
user1拥有对folder1到Group1的权限。 -
user2拥有没有任何组的直接权限,尽管用户是group2的一部分,其中group2没有对folder1的访问权限。 -
user3具有通过组层次结构的权限,而不是组对文件夹的直接访问权限。
我能够编写单独的 gremlin 查询来确定用户是否具有通过其中一个组的权限和用户直接权限。
通过组检查权限
g.V().has('user','userId','user1').emit().repeat(out('member_of'))
.outE('has_permission').has('permission','p1').inV()
.has('folder','folderId','folder1').hasNext()
用户直接权限
g.V().has('user','userId','user2')
.outE('has_permission').has('permission','p1').inV()
.has('folder','folderId','folder1').hasNext()
但我无法弄清楚单个查询中的逻辑,该查询可以检查直接和组以查看用户是否具有权限。
有人可以帮我吗?
【问题讨论】:
标签: graph permissions acl gremlin gremlin-server