我正在开发一个业余爱好者项目,以便更熟悉CouchDB。这是我第一次使用CouchDB。对于这个项目,我的目标是调查是否可以构建一个只包含HTML,CSS,JavaScript,CouchDB和nginx的Web应用程序(即,我没有在Couch中托管我的任何代码,只是数据)
这可能是非常不切实际的,但我首先想要探索这个堆栈中的所有选项。
目前,我最大的问题是安全问题。假设我在CouchDB中有一些数据库,每个数据库都对应一个托管站点。对于这个例子,我们将专注于单个数据库 - 即单个站点。本网站的部分内容应该可供所有人使用,甚至是匿名用户;只有具有特定角色的用户才能使用其他内容。我有什么选择,每个人的安全性如何?
到目前为止,我已经提出了一些想法,这是我计划在周末工作的一个想法:
/{site_db}/_security
。
{site_db}
中的任何数据请求来自经过身份验证的用户。 anon
的用户,该用户只有一个角色anon
。GET /_session
)。
anon
帐户进行身份验证。userCtx
对象上的角色。userCtx
以确定用户的角色是否在白名单中。这似乎应该有用,虽然我不禁认为它过于复杂,并且必须有更好的方法。此外,我不确定如何阻止anon
用户更新自己的用户文档以添加更多角色。
答案 0 :(得分:0)
如果您不喜欢CouchDB安全模型,则可以在反向代理中轻松实现。