0

我对 .NET 的 Neo4j 驱动程序有疑问。
要执行查询,我使用带有 ReadOnly 模式和读取事务的会话,但我仍然可以通过如下查询修改图形:Match (n) where Id(n) = 123 set n.foo = 33 return n;

我的代码:

using (var session = Driver.Session(AccessMode.Read))
        {
            session.ReadTransaction(tx =>
            {
                try
                {
                    var queryResult = tx.Run(job);
                }
                catch (Exception ex)
                {
                    errorMessage = ex.Message;
                }
            });
        }


为什么是可能的?如何解决这个问题?

4

1 回答 1

0

定义会话的AccessMode.Read类型,这仅在您处于集群模式时使用,用于在副本服务器而不是核心服务器上执行会话的事务。

它并不能说明您的会话是只读的。

要获得纯只读访问权限,您需要使用只读用户连接到 Neo4j。

于 2018-03-12T23:00:11.433 回答