CouchDB,仅限管理员创建用户

CouchDB, limit creating users to admins only

我正在开发一个 CouchDB 后端,它将作为使用 PouchDB 的 React 应用程序的中央存储存在。阅读安全部分的文档:http://docs.couchdb.org/en/2.1.1/intro/security.html,不需要管理员帐户或任何类型的用户帐户即可创建用户记录。现在,他们将无法创建任何文档,因为我禁用了管理方。但我也不希望开放的 API 端点允许任何人写入数据。我有办法限制这个吗?

我试过看看是否可以像这样设置安全文档:

curl -X PUT http://admin:admin@localhost:5984/_users/_security -d '{"admins":{"names":[],"roles":[]},"members":{"names":[],"roles":[]}}'

但我仍然可以添加用户:

curl -X PUT http://localhost:5984/_users/org.couchdb.user:abc1 -d '{"name":"abc1", "password":"abc1", "roles":[], "type":"user"}'

有什么我可以更改的,这样我就无法在没有管理员凭据的情况下向 couchdb.users 命名空间发出放置请求吗?

您没有在安全文档中设置管理员或用户,没有成员的数据库允许任何用户编写常规文档,与默认行为相同。

尝试将服务器的管理员设置为 _users 数据库管理员,即将安全文档更改为 -d '{"admins": { "names": ["admin"], "roles": [] }, "members": { "names": [], "roles": [] }}' 或者更好地创建管理员角色并将其分配给单独的 CouchDB 用户以进行更精细的控制.