Hug*_*own 6 couchdb mongodb nosql ravendb
支持REST样式的JSON over HTTP访问的文档数据库似乎是支持AJAX丰富的应用程序的理想选择,其中浏览器直接调用数据库,绕过传统的Web服务器/应用程序逻辑组件.例如,一旦用户通过身份验证,就可以检索用户首选项.(BBC主页可能是一个很好的例子,在负载崩溃之前!)
这种情况的问题是安全问题 - 如果用户使用Web服务器进行身份验证(例如基本表单身份验证),该身份如何转移到文档DB.是通过Web服务器代理对数据库的所有请求的唯一答案 - 即保护文档数据库,以便没有直接的外部访问?
这似乎是最有意义的,也是最容易实现的,但我想知道是否有人在异构环境中使用文档dbs有经验和/或建议?
这可能在您提到的每个数据库中有所不同。以下是它在 CouchDB 中的工作原理。
CouchDB 允许您管理用户和角色。
validate_doc_update您可以在设计文档中使用该功能来限制文档创建/更新。例如,您可以编写一个验证,拒绝除作者之外的任何人更新文档。
要限制谁可以从数据库读取文档,您可以编辑文档/db_name/_security并列出用户或角色。
但是,我认为您无法使读取访问更细化(即允许用户仅读取他们创建的文档)。
为此,您必须将 CouchDB 置于代理后面,并使用视图向经过身份验证的用户提供文档。您仍然可以通过这种方式使用 CouchDB 用户管理。代理只是隐藏了对数据库的直接访问。
有关更多详细信息,请查看CouchDB wiki 上的安全性概述、Relax 书的安全性章节以及这个简短的截屏视频。
| 归档时间: |
|
| 查看次数: |
1168 次 |
| 最近记录: |