限制用户访问 CouchDB 中的某些文档
Posted
技术标签:
【中文标题】限制用户访问 CouchDB 中的某些文档【英文标题】:Restrict user access to some docs in CouchDB 【发布时间】:2012-07-24 12:28:23 【问题描述】:我对 CouchDB 世界很陌生!我有一个所有用户都可以阅读的数据库,并且还可以编辑除设计文档之外的文档。有没有办法让特定用户只编辑他/她创建的文档。我正在使用 CouchApp 和 jquery.couch.js 插件
【问题讨论】:
【参考方案1】:CouchDB 没有每个文档的权限,只有每个数据库的权限。如果您授予用户写入权限,则他对数据库中的所有文档都有写入权限。
【讨论】:
为了彻底,还有服务器管理员。除了较小的管理员可以做的任何事情之外,他们还可以访问 _users、_replicator、删除数据库等。 CouchDB 的致命弱点?【参考方案2】:假设您避免让所有用户成为管理员并且您使用 CouchDB 的内置身份验证机制,我认为这是默认行为。
有关创建普通用户,请参阅Creating regular users in CouchDB。
有关用户身份验证和授权如何实际工作的更多详细信息,请参阅Security Features Overview,特别是"Authentication database" 下面的部分,其中概述了 CouchDB 中的内置规则。
只有管理员用户可以创建新用户,但没有什么可以阻止您让程序登录并自动执行此操作(使用管理员用户,这是假设您正在寻找某种“注册”过程)例如通过您的一些其他软件进行电子邮件验证)。
【讨论】:
我正在使用 couch.js 与本地 couchdb 进行所有交互。如何在不以管理员身份登录的情况下创建新用户并限制对其他用户文档的访问。 我认为这不能回答问题。 couchdb 没有每个文档的权限。 这不是答案。他问的是文档访问,而不是数据库访问。以上是关于限制用户访问 CouchDB 中的某些文档的主要内容,如果未能解决你的问题,请参考以下文章