允许非管理员读取/写入任何CouchDB数据库

问题描述

我有一个CouchDB实例,我在其中创建了一个管理员用户,因此只有管理员用户才能创建和删除数据库。据我了解,非管理员用户可以在此设置中读写数据库,但不能创建它们。我能够以管理员用户的身份创建数据库,但是如果我尝试在没有管理员凭据的情况下通过db(通过PouchDB)读取数据库,则响应为401,消息为You are not authorized to access this db.

如果查看数据库许可权,我会发现已添加_admin角色,但没有其他用户被列为管理员或成员。因此,我认为任何用户都应该能够读取/写入。我在这里想念什么吗?感谢您的帮助。

解决方法

事实证明,答案是,从(我认为)3.1版开始,CouchDB比“ 2.x”等以前的版本“锁定”得多,在该版本中,默认情况下对任何人都启用对数据库的读/写。我可以通过在服务器配置的default_security部分中将everyone设置为admin_only(现在默认为couchdb)来解决此问题。希望这可以帮助其他人。