我希望人們能夠私下共享文檔,使用帶有隨機ID的鏈接,就像我在發佈專用鏈接到pastebin後獲得的一樣。我一般都想知道CouchDB和Cloudant。我可以限制未經身份驗證的用戶訪問_all_docs嗎?
9
A
回答
14
使用Apache CouchDB,讀取權限是每個數據庫,而不是每個文檔。如果用戶可以從數據庫獲取文檔,則用戶也可以獲取_all_docs?include_docs=true
。
我在這個問題上寫了關於CouchDB read authorization的詳細資料。
有幾個方法:
7層防火牆或反向HTTP代理。這很難做到正確;國際海事組織絕大多數都不可行您必須熟悉熟悉CouchDB的API,以確保每個可能的查詢都被阻止(例如
_rewrite
繞過您的過濾器)。每個用戶一個數據庫。這是CouchDB的本地解決方案。創建數據庫非常便宜。然後,將用戶可以看到的文檔複製到他或她的數據庫中。用戶需要密碼在沙發上,或者一個OAuth帳戶。
我最近用每個用戶數據庫取得了成功,但是也是這個URL中的一個唯一鍵,授予它們直接訪問權。這感覺就像你想要的東西,然而在引擎蓋下我只是用隨機密碼創建一次性賬戶。鏈接進入公共頁面,如
www.example.com/pastebin/index.html?doc_id=some_docid&secret=random_secret
。然後,瀏覽器上的Javscript將讀取window.location
並將該密碼插入到AJAX查詢中(在授權標頭中)。沙發授予許可,用戶很高興。不幸的是,這需要一點嘗試和錯誤;但它主要是簡單的網絡編程。
相關問題
- 1. MySQL未經身份驗證的用戶
- 2. AWS MQTT Websocket,經過身份驗證的訪問受到限制
- 3. 我可以使用oauth身份驗證解決身份驗證問題嗎?
- 4. 經過身份驗證的用戶可以訪問他們的詳細信息
- 5. 允許未經身份驗證的用戶訪問特定頁面使用ASP.Net窗體身份驗證
- 6. 您可以授予訪問未經身份驗證的用戶的控制器/視圖
- 7. 我們可以使用refinerycms進行用戶身份驗證嗎
- 8. Google Drive訪問經過身份驗證的用戶數據
- 9. 在視圖之外訪問經過身份驗證的用戶
- 10. 允許未經身份驗證的用戶訪問利用current_user的視圖
- 11. 自定義身份驗證 - 用戶登錄但未經過身份驗證
- 12. Laravel - 允許經過身份驗證的用戶和未經身份驗證的用戶發佈
- 13. Cognito不會將未經身份驗證的用戶切換爲經過身份驗證的用戶
- 14. 如何爲所有經過身份驗證的用戶授予訪問權限?
- 15. 拒絕用django頻道訪問未經身份驗證的用戶
- 16. 審覈對REST API的未經身份驗證的訪問
- 17. AngularJS - 防止未經身份驗證的用戶訪問給定的路線
- 18. 如何允許未經身份驗證的用戶訪問CakePHP中的內容?
- 19. Firebase Node.js SDK未經身份驗證的訪問
- 20. 限制從未經過身份驗證的外部網用戶訪問Sitecore媒體資產
- 21. 用於身份驗證和權限/訪問控制的PHP庫
- 22. 防止未經身份驗證的用戶訪問頁面ASP.Net MVC
- 23. 如何僅對未經身份驗證的用戶訪問Django視圖?
- 24. AWS Cognito:「此身份池不支持未經身份驗證的訪問。」
- 25. Symfony的1.4:經過身份驗證的和未經驗證的用戶
- 26. Firebase身份驗證限制
- 27. Firebase身份驗證限制
- 28. 使用parse.com,可以有多個經過身份驗證的用戶訪問相同的數據嗎?
- 29. Laravel 5.4 mongodb護照訪問令牌未經身份驗證
- 30. 我可以強制Windows來挑戰用戶進行身份驗證嗎?
Jason:你有博客嗎?我很想讀它! – Locohost 2013-09-04 13:19:52