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

在CouchDB中列出具有成员权限的用户?,couchdb,Couchdb,在CouchDB中,\u用户数据库的视图仅限于管理员,并显示以下消息: { "error":"forbidden", "reason":"Only administrators can view design docs in the users database." } 非管理员用户获取用户列表的最佳方式是什么 尝试的解决方案 我尝试将一个用户添加为\u users的成员,但上面出现了相同的消息 看起来我无法设置特定视图的权限(但是有一个options条目我找不到任何文档)

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

{
    "error":"forbidden",
    "reason":"Only administrators can view design docs in the users database."
}
非管理员用户获取用户列表的最佳方式是什么

尝试的解决方案
  • 我尝试将一个用户添加为
    \u users
    的成员,但上面出现了相同的消息

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

  • 上面的“禁止”消息不在
    \u users/\u design/\u auth
    validate\u doc\u update
    功能中,因此我似乎无法编辑
    validate\u doc\u update
    以允许用户查看此数据库


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

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

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

如果可以执行您正在尝试的操作,这是一个严重的安全漏洞,需要立即修复。@Flimzy为什么一个具有给定角色(如“客户端”)的经过身份验证的用户只列出具有“客户端”角色的所有其他用户的姓名是一个安全漏洞?因为这没有任何意义,因为我可以登录我的银行网站,并且我有一个“储蓄账户持有人”角色,我应该能够看到所有其他储蓄账户持有人的姓名。您所说的访问级别需要特定于应用程序。不应将其内置到数据库中。@Flimzy它可能在银行环境中不起作用,但有许多示例需要此功能,例如论坛目录、多人游戏和社交媒体。这包括我的目标应用程序。如果可以执行您正在尝试的操作,这是一个严重的安全漏洞,需要立即修复。@Flimzy为什么一个具有给定角色(如“客户端”)的经过身份验证的用户只列出具有“客户端”角色的所有其他用户的姓名是一个安全漏洞?因为这没有任何意义,因为我可以登录我的银行网站,并且我有一个“储蓄账户持有人”角色,我应该能够看到所有其他储蓄账户持有人的姓名。您所说的访问级别需要特定于应用程序。不应将其内置到数据库中。@Flimzy它可能在银行环境中不起作用,但有许多示例需要此功能,例如论坛目录、多人游戏和社交媒体。这包括我的目标应用程序。我最终使用了这个解决方案的一个变体。为此获得一个完整的API层太过分了。相反,我让应用程序在登录时将用户注册到一个单独的数据库中。然后,其他用户可以查看这个单独的数据库,从而得到感兴趣的用户列表。为此获得一个完整的API层太过分了。相反,我让应用程序在登录时将用户注册到一个单独的数据库中。然后,其他用户可以提取这个单独数据库的视图,从而获得感兴趣的用户列表。