CouchDB或Cloudant是否有可能为用户隐藏文档?
1.我有2个成员角色roleA
和roleB
分配给用户。
1.我有一个数据库,其中包含由这些用户创建的3个文档:docA
,docB
,docC
默认情况下,所有这些文档都可以通过_all_docs
视图进行查看
我需要一个可维护和可扩展的解决方案来隐藏文档。
举例来说:
a)文档docA
和docC
应该只能由roleA
用户查看
B)文档docB
和docC
应仅可供roleB
用户查看
C.管理员可以看到一切
我已经查阅了一份官方文档、最佳实践和其他类似主题,但我找不到任何可扩展的解决方案来完成这项任务
1条答案
按热度按时间unhi4e5o1#
首先,在CouchDB中,
_all_docs
视图是一个内置视图,允许您检索数据库中所有文档的列表。默认情况下,任何对数据库具有读访问权限的经过身份验证的用户都可以查询_all_docs
视图。此外,CouchDB本身并不提供隐藏文档的功能,您可以在
_design
文档中使用validate_doc_update
功能,根据用户角色和权限实施安全措施,以控制访问仅用于编辑文档举例来说:
字符串
另一个糟糕的情况是,如果我们有更复杂的逻辑,如何调试这些函数。