Synchronization CouchDB/PockDB部分同步,权限有限

Synchronization CouchDB/PockDB部分同步,权限有限,synchronization,couchdb,pouchdb,access-rights,Synchronization,Couchdb,Pouchdb,Access Rights,我只是偶然发现了CouchDB和PockDB的同步功能。通常,web应用程序有一个应用程序服务器,实现身份验证、权限和业务逻辑,允许限制用户对特定资源/记录的访问。这让我想到几个问题: 是否可以限制对Coach db内记录的访问。超级管理员查看所有信息,部门经理查看所有部门信息,而简单用户只查看自己的记录或分配给他的任务 Is CouchDB+数据库只能进行部分同步。e、 g.同步我负责的所有任务 您是否会使用CouchDB进行用户身份验证和权限存储(对于上述用例)?我觉得很奇怪,因为在我看来,

我只是偶然发现了CouchDB和PockDB的同步功能。通常,web应用程序有一个应用程序服务器,实现身份验证、权限和业务逻辑,允许限制用户对特定资源/记录的访问。这让我想到几个问题:

  • 是否可以限制对Coach db内记录的访问。超级管理员查看所有信息,部门经理查看所有部门信息,而简单用户只查看自己的记录或分配给他的任务
  • Is CouchDB+数据库只能进行部分同步。e、 g.同步我负责的所有任务
  • 您是否会使用CouchDB进行用户身份验证和权限存储(对于上述用例)?我觉得很奇怪,因为在我看来,每个人都可以访问用户数据库
  • 是否可以限制对Coach db内记录的访问。超级管理员查看所有信息,部门经理查看所有部门信息,而简单用户只查看自己的记录或分配给他的任务

    现成的安全策略是非常基本的,但是您可以使用高级功能完成很多事情

    您想要做的事情可以简单地使用一个根据
    req.userCtx
    生成不同输出的

    在不同的设置中(基于用户/方法/URI的授权,有或没有第三方身份验证),因为CouchDB完全符合REST,所以您还可以使用HTTP反向代理来实现与安全相关的功能

    Is CouchDB+backdb只能进行部分同步。e、 g.同步我负责的所有任务

    在CouchDB中,这被称为

    不管怎么说,我觉得很奇怪,因为在我看来,每个人都可以访问用户数据库

    当然不是。在正常模式下(不是“管理方”),其他用户只能访问“公共”属性,当然,只有用户自己可以更新其用户文档(请参阅)

    是否可以限制对Coach db内记录的访问。超级管理员查看所有信息,部门经理查看所有部门信息,而简单用户只查看自己的记录或分配给他的任务

    没有。您不能仅使用一个DB和CouchDB来实现这一点。 但有几种方法可以实现这一点,例如:

    • 每个项目/用户组/用户使用一个数据库。在大多数情况下,这可能是首选方法。在CouchDB中创建数据库很容易。它也是同步的最佳选择
    • 创建一个智能代理,该代理使用用户凭据包装所有文档并筛选所有结果
    • 基于每个用户对文档进行加密
    • 使用验证文档读取和验证文档更新功能
    更多信息请点击此处: