我有一些集合,希望用户能够根据“标签”字段获得特权访问文档(行)。因此当用户1查询集合时,只能看到具有标签=user1的文档。请注意保留HTML标记。
我最终使用PyMongo编写了一个中间脚本,基于用户的属性(保存在单独的数据库中)查询数据库。此查询的结果托管在单独的localhost(或任何其他IP)端口上,然后由我们的BI应用程序使用。对单独的数据库的读写访问仅提供给管理员,管理员可以修改用户拥有特权的访问权限。托管和查询是使用Flask和PyMongo完成的,可以通过以下链接进行安装:
http://api.mongodb.org/python/current/installation.html
http://flask.pocoo.org/docs/0.10/installation/
$redact
在文档深度中实现的内容。个人建议您的ACL实际上应该基于“角色”而不是“用户名”。此外,请注意,$redact
示例很简单,如果直接实现代码会更好。 - Neil Lunn$redact
确实是有意义的。也许你可以将你的评论扩展成一个答案? - naught101