对_users数据库的CouchDB读/写限制

时间:2011-03-24 11:55:54

标签: couchdb database-permissions

我想限制用户权限,以便普通用户只能读/写自己的用户文档。

我设法设置了写权限,以便用户只能编辑自己的文档(通过设计文档中的validate_doc_update函数)。

现在我只需要限制用户查看用户列表或其他用户文档。如果我将数据库读取权限设置为'_admin'角色,那么用户将无法查看自己的文档,这不是我想要的。

这可以用更一般的方式完成吗?即设置读取权限,以便用户只能读取数据库中的某些特定文档?

2 个答案:

答案 0 :(得分:1)

不幸的是,每个文档的读取控件可能。

但是,如果您使用list function,则可以执行“查询后过滤器”,该过滤器会根据当前会话用户限制视图查询的结果。 (通过userCtx参数)

答案 1 :(得分:0)

在CouchDB中创建新数据库很便宜,它旨在使数据尽可能接近需要它的用户。 因此建议的方法是为每个用户建立一个数据库。