嗨,我读到了两种为 couchapps 实现按文档读取访问的方法:
- 每个用户都有自己的数据库,其中只包含该用户可以读取的数据。然后所有用户写入主数据库,该数据库使用复制过滤器复制到所有用户数据库,该过滤器决定谁可以读取什么。
- 使用列表函数过滤其他视图的输出并通过代理服务器和白名单限制访问。
我对此有一些疑问:
是否有更多的可能性来实现文档级别的读取访问?
如何在 couchapp 中创建用户私有数据库?我确实需要管理员权限,但填写我的应用程序注册表单的用户显然没有管理员权限。我是否需要用于注册过程的中间层(php 等),以便我可以创建所需的数据库?
当我最终拥有这个数据库时,我需要使用过滤器开始连续复制。我在某处读到,当服务器重新启动时,此类复制不会恢复。如果服务器崩溃,我是否需要一个 chronjob 每隔 x 小时重新创建这些复制?
这不是对磁盘空间的巨大浪费吗?对于注册我的应用程序的每个用户,大部分数据都会重复,还是我错了?(特别是如果只有很少的信息不能被其他人阅读)