我想限制用户权限,以便普通用户只能读/写自己的用户文档。
我设法设置了写权限,以便用户只能编辑自己的文档(通过设计文档中的validate_doc_update函数)。
现在我只需要限制用户查看用户列表或其他用户文档。如果我将数据库读取权限设置为'_admin'角色,那么用户将无法查看自己的文档,这不是我想要的。
这可以用更一般的方式完成吗?即设置读取权限,以便用户只能读取数据库中的某些特定文档?
答案 0 :(得分:1)
不幸的是,每个文档的读取控件不可能。
但是,如果您使用list function
,则可以执行“查询后过滤器”,该过滤器会根据当前会话用户限制视图查询的结果。 (通过userCtx
参数)
答案 1 :(得分:0)
在CouchDB中创建新数据库很便宜,它旨在使数据尽可能接近需要它的用户。 因此建议的方法是为每个用户建立一个数据库。