gpt4 book ai didi

couchdb - CouchDB 每用户数据库方法对于拥有大量共享数据的用户是否可行?

转载 作者:行者123 更新时间:2023-12-04 02:08:04 27 4
gpt4 key购买 nike

我想实现一个 webapp - 一个集成来自各种来源的数据并将它们显示给用户的提要。用户应该只能看到他有权阅读的提要项目(例如,因为它们属于他所属的项目)。但是,许多用户可能(并且将会)看到一个提要项。

我真的很想使用 CouchDB(主要是因为很酷的 _changes 提要和 map/reduce View )。我正在考虑将应用程序实现为纯沙发应用程序,但我在权限模型方面遇到了问题。 AFAIK,CouchDB 中没有每个文档的权限,这通常使用每个用户的数据库和复制来实现。

但是,当不同用户看到的内容之间有很多重叠时,这会带来大量开销……内容将被复制到所有地方并在许多数据库中复制。我喜欢这种方法的优雅,但巨大的开销感觉就像一个交易破坏者......(假设我有 50 个用户,他们都看到相同的数据......)。

有什么想法吗?替代解决方案?

最佳答案

您可以按照 CouchDB Authorization on a Per-Database Basis 中所述强制执行读取权限。 .

对于写权限,您可以使用在 CouchDBThe Definitive Guide - Security 中描述的验证函数。 .

您可以为每个项目创建一个数据库并在那里强制执行权限,然后所有数据在用户之间有效共享。如果用户自己共享提要并且也需要权限,您可以将用户设为“项目”,因此相同的逻辑适用于任何地方。

使用此设计,您可以为每个项目授权一个用户或一组用户(角色)。

关于couchdb - CouchDB 每用户数据库方法对于拥有大量共享数据的用户是否可行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10601972/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com