【发布时间】:2016-09-21 13:18:21
【问题描述】:
如何从arangosh内部获得
1) 给定用户的所有授权数据库
2) 给定数据库的所有授权用户
?
【问题讨论】:
如何从arangosh内部获得
1) 给定用户的所有授权数据库
2) 给定数据库的所有授权用户
?
【问题讨论】:
您可以使用 AQL 做到这一点。
1) db._query("FOR u IN _users FILTER u.user == @user FOR db IN ATTRIBUTES(u.databases) FILTER u.databases[db] == 'rw' RETURN db", {"user":"user_name"})
2)db._query("FOR u IN _users LET userDbs = (FOR db IN @dbs FILTER u.databases[db] == 'rw' RETURN db) FILTER LENGTH(userDbs) RETURN u.user", {"dbs":["*","database_name","another_database_name"]})
使用第二个 AQL,您可以搜索有权访问给定数据库之一的用户。一个用户可以访问所有数据库(如 root 用户),而不是一个显式的。在这种情况下,您必须使用 * 作为数据库名称,就像在我的示例中一样。
【讨论】: