【问题标题】:Prevent some users modifying a Neo4J node防止某些用户修改 Neo4J 节点
【发布时间】:2012-10-23 05:00:33
【问题描述】:

在我的 Neo4J 数据库中,我想防止特定用户修改节点。我想允许任何用户成为“访客”并查看数据,而某些用户则成为管理员并查看和编辑尽可能多的数据。

这需要是 neo4j 服务器的一部分,我宁愿不在 neo4j 上实现 web 服务。

【问题讨论】:

    标签: java security neo4j


    【解决方案1】:

    您可以在只读模式下运行 Neo4j 服务器从属服务器,作为读/写主服务器的镜像。或者您可以实现节点级别的权限,就像在 RDBMS 中一样。

    【讨论】:

    • 感谢您的回答,可能是这样。我希望在 Heroku 或类似的东西上运行,所以这会使我的数据成本增加一倍。是否有节点级别权限的文档?
    【解决方案2】:

    您可以使用SecurityRule 执行您正在寻找的内容。对here 的作用有更好的描述。

    基本上,这允许您在特定 URL 上设置 HTTP 授权。您可以做的是检查该 URL 以查看它尝试访问的节点,如果不允许用户对其进行变异,则拒绝该请求。

    【讨论】:

    • 非常感谢。看起来我除了 GET 请求之外的一切都可能失败,除非他们有 HTTP 身份验证,这在现在是可以的。还有一件事......你知道我如何从规则中获取对数据库的引用吗?
    • SecurityRule 有一个链接到数据库的DEFAULT_DATABASE_PATH,但它无权访问 GraphDatabaseService。 //更新:我刚刚做了一个测试,看起来没有,您无权访问@Context,因此您可以访问实际的图形数据库。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-08
    • 1970-01-01
    • 2019-05-14
    • 1970-01-01
    相关资源
    最近更新 更多