【问题标题】:Allow non-admin users to created CouchDB databases允许非管理员用户创建 CouchDB 数据库
【发布时间】:2018-02-04 02:31:57
【问题描述】:

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

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

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

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

【问题讨论】:

  • 我最近一直在认真研究这个问题,我很确定创建一个后端服务来执行这个是要走的路
  • 你们有人解决过这个问题吗?我即将采用中间后端的想法......
  • 我从来没有找到解决它的方法;最终创建了一个后端服务,这有点糟糕,但它真的很基础(基本上只是一个具有管理员帐户的 CouchDB 代理)

标签: authentication couchdb pouchdb


【解决方案1】:

老实说,我认为这里唯一真正的答案是您必须创建一个具有可以创建新数据库的管理员凭据的后端服务。有点遗憾,因为我对这个项目的目标之一是“除了 CouchDB 之外没有后端”。

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

【讨论】:

  • 您是否有机会共享一个“hello world”服务器,该服务器听到浏览器请求,将其传递给 Couch,然后将结果返回给浏览器?
猜你喜欢
  • 2020-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多