轻量级堆栈中的CouchDB安全性?
为了更加熟悉CouchDB,我正在做一个爱好者项目。这是我第一次与CouchDB合作。对于这个项目,我的目标是调查是否有可能构建一个只有HTML、CSS、JavaScript、CouchDB和nginx的web应用程序(也就是说,我没有在沙发上托管任何代码,只是数据) 这可能是非常不切实际的,但我想首先探讨一下这个堆栈中的所有选项 目前,我最大的问题是安全问题。假设我在CouchDB中有几个数据库,每个数据库对应一个托管站点。对于本例,我们将关注单个数据库,即单个站点。这个网站上的一些内容应该对每个人都是可用的,甚至是匿名用户;其他东西应该只对具有特定角色的用户可用。我的选择是什么?每个选择的安全性如何 到目前为止,我已经提出了一些想法,这是我计划在周末研究的一个:轻量级堆栈中的CouchDB安全性?,couchdb,Couchdb,为了更加熟悉CouchDB,我正在做一个爱好者项目。这是我第一次与CouchDB合作。对于这个项目,我的目标是调查是否有可能构建一个只有HTML、CSS、JavaScript、CouchDB和nginx的web应用程序(也就是说,我没有在沙发上托管任何代码,只是数据) 这可能是非常不切实际的,但我想首先探讨一下这个堆栈中的所有选项 目前,我最大的问题是安全问题。假设我在CouchDB中有几个数据库,每个数据库对应一个托管站点。对于本例,我们将关注单个数据库,即单个站点。这个网站上的一些内容应该对
/{site\u db}/\u security
。
- ,这样做将要求
中的任何数据请求都来自经过身份验证的用户李>{site_db}
anon
的用户,该用户只有一个角色,即anon
GET/\u session
)。
- 如果不存在会话,JS模型将使用
帐户进行身份验证anon
- 任何只对非匿名用户可用的视图都应该检查
对象上的角色userCtx
- 任何新创建文档的验证都应检查
,查看用户角色是否在白名单上userCtx
这似乎应该行得通,尽管我忍不住认为这太复杂了,必须有更好的方法。此外,我不知道如何防止
anon
用户更新自己的用户文档以添加更多角色。如果您不喜欢CouchDB安全模型,可以在反向代理中轻松实现您的安全模型
这是一个例子,但它似乎是