我正在开发一个使用PouchDB
(客户端)和CouchDB
(服务器端)的移动应用程序。Couchdb应用过滤服务器端
我需要确保文档以允许用户只读/写自己的文档。
我做了这样的过滤器,是这样的:
function(doc, req) {
return doc.owner == req.userCtx.name || doc.sharedWith == req.userCtx.name;
}
和它工作得很好,但只有来自客户端的请求包括过滤器:
/somedatabase/_alldocs?filter=filter/secure
我需要CouchDB的使用在每个请求中过滤,有或没有客户端指明,出于明显的安全原因。这甚至有可能吗?否则,哪个是解决这些安全问题的正确方法?
还有一个类似的问题here但答案不适用于我的情况,因为我需要在用户之间共享文档并在所有数据库之间复制它们不是一个有效的选项。