Authentication ew fn被抓取并序列化,然后列表处理器再次对其进行反序列化,然后使用列表函数处理结果。然后,再次序列化 谢谢。Kore Nordmann的文章以用户/权限表为例介绍了数据以及如何将其转换为CouchDB。它似乎没有解决实际限制访问资源的问题。另外,我知道

Authentication ew fn被抓取并序列化,然后列表处理器再次对其进行反序列化,然后使用列表函数处理结果。然后,再次序列化 谢谢。Kore Nordmann的文章以用户/权限表为例介绍了数据以及如何将其转换为CouchDB。它似乎没有解决实际限制访问资源的问题。另外,我知道,authentication,couchdb,Authentication,Couchdb,ew fn被抓取并序列化,然后列表处理器再次对其进行反序列化,然后使用列表函数处理结果。然后,再次序列化 谢谢。Kore Nordmann的文章以用户/权限表为例介绍了数据以及如何将其转换为CouchDB。它似乎没有解决实际限制访问资源的问题。另外,我知道列表的目的主要是改变格式,我知道它们也用于B树之外的过滤,对吗?你说得对,这篇文章没有提供权限问题的完整解决方案,但这是一个很好的起点,如图所示,您可以使用“权限”结构来保存一个特定用户可用的视图。我不知道list/B-tree的关系,但我正在


ew fn被抓取并序列化,然后列表处理器再次对其进行反序列化,然后使用列表函数处理结果。然后,再次序列化

谢谢。Kore Nordmann的文章以用户/权限表为例介绍了数据以及如何将其转换为CouchDB。它似乎没有解决实际限制访问资源的问题。另外,我知道列表的目的主要是改变格式,我知道它们也用于B树之外的过滤,对吗?你说得对,这篇文章没有提供权限问题的完整解决方案,但这是一个很好的起点,如图所示,您可以使用“权限”结构来保存一个特定用户可用的视图。我不知道list/B-tree的关系,但我正在寻找它。你有没有更详细的链接?解释B-树(基本上)是如何实现的。我的意思是:视图提供对键的线性排序和过滤。如果您想在该视图中进行额外筛选,您需要一个列表,对吗?我还不完全明白,但这是我从你的参考书中收集到的。我更新了一点我的答案。是的,我认为使用列表可以限制对某些资源的访问。谢谢。你所说的“在CouchDB中运行vhost和rewrite规则”是什么意思?你(或某人)能更具体地说明列表是否是实现这一点的好方法吗?嗨,Tomas。简短回答:不。一般来说,列表不是实施安全策略的好方法,因为用户可以简单地查询/u所有文档并查看整个数据库!只需使用CouchDB托管提供程序,它为您执行代理部分。在SmileUps上,您可以根据需要定义/重新定义/删除所有域。然后,您可以完全更改或删除您的CouchDB根访问域,并通过过滤重写文档规则将其他“公共”域链接到ddoc。。因此,阻止访问任何受限制的处理程序,如_all_docs和其他..谢谢您的回答。关于您编辑的想法,这似乎只在有限的情况下有用,因为不需要排序或过滤其他用户名,对吗?不,您可以以任何方式使用它,因为CouchDB允许使用多个值进行排序。只需执行类似“emit([doc.user\u id,doc.sort\u value],doc)”的操作即可。回答得不错。但是请记住,用户可以获取/u所有文档并查看整个数据库!如果您有一个代理层,并且您确信它阻止了所有未加入的URL,那么列表就可以工作了。但这是微妙的。重写、显示/列表函数和视图都可能为数据打开后门。只需使用CouchDB托管提供程序,它为您提供代理部分。在SmileUps上,您可以根据需要定义/重新定义/删除所有域。然后,您可以完全更改或删除您的CouchDB根访问域,并通过过滤重写文档规则将其他“公共”域链接到ddoc。请看,它实现了读取ACL,保持原始CouchDB REST API不变。
function(head, req) {
  var row;
  while (row = getRow()) {
     if (row.value.ACL[req.userCtx.name])
       send(row.value);
     else
       throw({unauthorized : "You are not allowed to access this resource"});
}