我正在開發一個使用PouchDB
(客戶端)和CouchDB
(服務器端)的移動應用程序。Couchdb應用過濾服務器端
我需要確保文檔以允許用戶只讀/寫自己的文檔。
我做了這樣的過濾器,是這樣的:
function(doc, req) {
return doc.owner == req.userCtx.name || doc.sharedWith == req.userCtx.name;
}
和它工作得很好,但只有來自客戶端的請求包括過濾器:
/somedatabase/_alldocs?filter=filter/secure
我需要CouchDB的使用在每個請求中過濾,有或沒有客戶端指明,出於明顯的安全原因。這甚至有可能嗎?否則,哪個是解決這些安全問題的正確方法?
還有一個類似的問題here但答案不適用於我的情況,因爲我需要在用戶之間共享文檔並在所有數據庫之間複製它們不是一個有效的選項。