基于角色的CouchDB每字段读取权限
我是CouchDB的新手。 我不知道是否可以限制角色可以从文档中读取的字段。如果可以,这是使用CouchDB的正确方法吗 例如,如果我有这样一个文档:基于角色的CouchDB每字段读取权限,couchdb,couchdb-2.0,Couchdb,Couchdb 2.0,我是CouchDB的新手。 我不知道是否可以限制角色可以从文档中读取的字段。如果可以,这是使用CouchDB的正确方法吗 例如,如果我有这样一个文档: { firstname: 'firstname', lastname: 'lastname', email: ['home': 'foobar@foobar.net', 'work': 'foobar@foobar-working.net'], phone: ['home': '+81 00 0000 0000']
{
firstname: 'firstname',
lastname: 'lastname',
email: ['home': 'foobar@foobar.net', 'work': 'foobar@foobar-working.net'],
phone: ['home': '+81 00 0000 0000'],
}
以及以下角色:
{
"admins": {
"names": [
"superuser"
],
"roles": [
"admins"
]
},
"members": {
"names": [
"user1",
"user2"
],
"roles": [
"developers"
]
}
}
我希望管理员角色可以读取所有字段,而开发人员只能读取电子邮件和电话。
我怎样才能做到这一点?使用验证功能?您文章中描述的功能在CouchDB中不可用 couchdb中的安全性定义如下(摘自doc) 安全对象包含两个必需元素admins和members,用于指定分别对数据库具有admin和members权限的用户和/或角色列表:
- 成员:他们可以从数据库中读取所有类型的文档,并且 可以将设计文件以外的文件写入(和编辑)数据库
- 管理员:他们拥有成员的所有特权以及以下特权: 编写(和编辑)设计文档,添加/删除数据库管理员和 成员并设置数据库修订限制。他们无法创建一个 也不能删除数据库
有人提议增加一些每个文档的访问限制,但这似乎处于开发的早期阶段。您可以看到提案。好的,谢谢。是否有其他方法可以实现我需要的结果?CouchDB中没有满足您需求的内置机制。您应该在CouchDB之上添加一些逻辑来支持它。这取决于您的体系结构。