文档作为节点和安全机制

时间:2013-05-17 11:13:38

标签: neo4j neo4jclient

我是非常新的使用neo4jDatabase或neo4jclient驱动程序,我正在尝试创建一个概念验证,以了解使用这项技术是否有意义,我有以下疑问,(我试图搜索过来网络,但没有答案......)。

  1. 我有一些与它们相关联的文档的实体(PDF,DOCx ...),是否可以将Node属性指向这些文档?或者可以将文档添加为具有Lucene索引的图形节点,以便搜索可以返回文档节点和相关关系吗?

  2. 安全如何运作?是否可以让用户在考虑其个人资料的情况下访问节点?想象一下,节点代表文档如何实现用户只访问其节点的安全机制(文档)?

2 个答案:

答案 0 :(得分:0)

Q1:您可以简单地添加一个节点属性,其中包含一个引用所选文档的URI。这可能指向blob存储,本地磁盘,无论您存储文档的哪个位置。你可以在节点的属性中添加二进制对象(通过使用字节数组),但我不建议这样做,因为这只会增加数据库占用空间的大量。作为参考,here是所有支持的节点属性类型。

Q2:安全性将出现在数据库本身,而不是节点上。您的应用程序中需要实现节点级(或您的案例中的文档级)安全性。为了确保数据安全,您应该考虑将Neo4j服务器(和相关端点)隐藏在防火墙后面,而不是将其暴露给Web。例如,在Windows Azure中,您将其部署到没有任何输入端点的虚拟机,只需通过内部连接进行连接。有关neo4j安全性的所有详细信息,请查看this页面。

答案 1 :(得分:0)

1)大卫说的话。

2)对于资源级别的安全性,您需要将其建模到图表中。在http://docs.neo4j.org/chunked/milestone/examples-acl-structures-in-graphs.html

上有一个例子