如何访问没有管理员凭据的couchdb用户数据库

时间:2013-11-29 08:59:22

标签: cordova kendo-ui couchdb

我正在使用phonegap,kendoUI mobile和couchdb编写移动应用程序。我为我的服务器couchdb设置了管理员用户。

/ _usersdb中的文档具有以下格式:

{
  _id: org.couchdb.user:foo
  name: foo
  passw: securepassword
  role: []
  type: user
  salt: complexstring
  nickName: fooNick
  mail: fooNick@mail.com
} 

我想获取所有用户的nickName和邮件,我希望/ _users db中的所有用户都可以这样做。

我确信使用管理员凭据很容易。我必须简单地运行这个命令:

curl -X GET 'http://adminUserName:adminPassword@192.168.0.111:5984/_users/_all_docs'

但是如果没有管理员凭证我怎么能这样做呢?

1 个答案:

答案 0 :(得分:2)

_users数据库受到_users数据库本身的服务器或管理员以外的任何人的保护。任何其他用户只能检索与用户的登录名相关联(并表示)的文档。

虽然行为不可配置,但您可能会发现public_fields功能对您的任务有用。一旦它成为激活,常规用户可以请求/_users/_all_docs资源和其他用户的文档,其中包含对返回字段的限制:只有公共资源可用。请确保您的用户同意他们的某些信息(包括登录名)将可用于其他世界。

CouchDB docs中了解有关身份验证数据库限制的详细信息。