列出 CouchDB 中具有成员权限的用户?

Dan*_*iel 0 couchdb

在 CouchDB 中,_users数据库的视图仅限于管理员,并显示以下消息:

{
    "error":"forbidden",
    "reason":"Only administrators can view design docs in the users database."
}
Run Code Online (Sandbox Code Playgroud)

非管理员用户获取用户列表的最佳方式是什么?

尝试的解决方案

  • 我尝试将用户添加为成员,_users但出现上述相同消息。

  • 看起来我不能根据文档设置特定视图的权限(但是有一个options条目我找不到任何文档)。

  • 上面的“禁止”消息不起作用,_users/_design/_auth validate_doc_update因此我似乎无法编辑validate_doc_update以允许用户查看此数据库。

提供上下文:我正在创建一个应用程序,该应用程序需要了解具有特定角色的所有其他用户,以便他们可以相互交互。

小智 5

据我所知,没有管理员权限是不可能访问 _users 数据库的。但是您可能会考虑编写一个服务器端 API 来查找您的用户列表。然后通过 AJAX 调用访问您的数据。如果您已经有一个 API,那应该不是什么大问题。否则你可能想看看 Express:https : //expressjs.com/

  • 我最终使用了此解决方案的变体。为此获得一个完整的 API 层是多​​余的。相反,我让应用程序在登录时在单独的数据库中注册用户。然后,其他用户可以拉取这个单独数据库的视图,从而获得感兴趣的用户列表。 (3认同)