CouchDB,仅限用户创建管理员

时间:2018-03-10 14:34:03

标签: couchdb pouchdb

我正在使用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命名空间发出put请求?

1 个答案:

答案 0 :(得分:0)

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

尝试将服务器的管理员设置为id_A id_B val_A val_B val_diff cat a b 10 11 -1 X a c 10 12 -2 X b c 11 12 -1 X d e . . . Y d f . . . Y e f . . . Y 数据库管理员,即将安全文档更改为_users,或者甚至更好地创建管理员角色,并将其分配给单独的CouchDB用户以进行更精细的控制。< / p>