我正在使用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请求?
答案 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>