【问题标题】:Arangodb: arangosh get granted databases/users for a given user/databaseArangodb:arangosh 为给定的用户/数据库获得授予的数据库/用户
【发布时间】:2016-09-21 13:18:21
【问题描述】:

如何从arangosh内部获得
1) 给定用户的所有授权数据库
2) 给定数据库的所有授权用户
?

【问题讨论】:

    标签: database arangodb


    【解决方案1】:

    您可以使用 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 用户),而不是一个显式的。在这种情况下,您必须使用 * 作为数据库名称,就像在我的示例中一样。

    【讨论】:

      猜你喜欢
      • 2016-03-13
      • 2018-03-21
      • 2021-02-12
      • 2010-09-17
      • 1970-01-01
      • 2013-03-13
      • 1970-01-01
      • 2015-02-16
      • 2012-06-06
      相关资源
      最近更新 更多