允许非管理员用户创建 CouchDB 数据库

Allow non-admin users to created CouchDB databases

我正在使用 CouchDB 2.1.0,对于我的用例,我希望非管理员用户能够创建他们自己的数据库,然后他们将可以 write/read 访问并能够添加具有 write/read 访问权限的其他用户。

请注意,这不是每个用户一个数据库,这似乎是常见的用例,而是每个用户多个用户创建的数据库。

现在正在通过 POSTing 到 _users 数据库来创建用户。身份验证由 CouchDB 的内置身份验证处理。

可以创建一个后端服务,该服务具有创建这些数据库的管理员凭据,但我想避免这样做。阅读文档似乎默认情况下 CouchDB 只允许管理员创建数据库;有办法改变吗?

老实说,我认为这里唯一真正的答案是您必须创建一个后端服务,该服务具有可以创建新数据库的管理员凭据。有点可惜,因为我这个项目的目标之一是 "no backend other than CouchDB"。

我的后端服务最终只获取了一个用户列表,这些用户应该有权访问所创建的数据库,创建具有唯一 ID 的数据库,然后返回该 ID。然后我在每个用户的数据库中都有一个文档,其中列出了他们创建的所有数据库。