如何在 CouchDB 中将用户创建设为公开但读取权限设为私有?

Posted

技术标签:

【中文标题】如何在 CouchDB 中将用户创建设为公开但读取权限设为私有?【英文标题】:How can I make user creation public but read access private in CouchDB? 【发布时间】:2011-10-10 11:09:22 【问题描述】:

我想公开用户创建,以便未经身份验证的用户可以在_users 中创建新帐户,但只授予admin 角色的读取权限。这可能吗?怎么样?

【问题讨论】:

【参考方案1】:

CouchDB 1.1.0 和即将发布的 1.1.1 不支持此功能。您可以做的最好的事情是拥有一个公共数据库,用户可以在其中提交创建用户帐户的请求,并且您有一个独立的工具来对此做出反应并创建普通用户帐户。 (独立工具可能只是一个您以管理员身份登录的专用网页。)

我已经提交了一个补丁来完全按照您的描述进行操作。称为CouchDB inbox database,它允许非特权用户将一些已批准的文档写入数据库,但他们无法读取任何数据。创建新用户帐户正是我制作补丁的原因。

我很乐观地认为它将包含在 v1.2 或 1.3 中。

【讨论】:

谢谢。我可能会自己应用那个补丁。无论如何,我已经在应用 update_handler 'any-http-code returned' 补丁。

以上是关于如何在 CouchDB 中将用户创建设为公开但读取权限设为私有?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 crate 中将 Rust 项目设为公开,但在其外部设为私有?

如何在 couchDB 中组织表?

如何限制 CouchApp 对 CouchDB 的 `_user` 表的访问?

如何仅为特定用户和角色显示和复制文档?

如何在 Struts 2 中将对象公开给我的所有视图?

CouchDB 文档建模原则