我们有一个带有主从设置的RavenDB服务器。有一个主DB通过一个进程写入文档,然后将其复制到从属。
通过Web应用程序访问从属服务器,但我们希望将所有复制的文档设置为只读。
在寻找安全选项时,我们在数据库级别和文档级别(使用授权包)找到它。第一个使整个DB只读,但不应该是这种情况。第二个问题太复杂,需要我们不需要的更细粒度的安全性。
我们希望Web应用程序可以使用某些凭据上下文连接到RavenDB(不是应用程序用户,而是网站运行的系统用户),其中某些集合对于该标识是只读的。例如,在SQL Server中完全可以实现这一点。
任何替代解决方案,例如将文档复制为只读,也是值得赞赏的。我们目前最好的想法是在服务器上放置触发器,使所需的文档在从属数据库上只读。
答案 0 :(得分:0)
您可以轻松地使用API密钥: https://ravendb.net/docs/article-page/3.0/Csharp/server/configuration/authentication-and-authorization#oauth-authentication
复制的一个API密钥(读/写) 应用程序的一个API密钥(只读)