以其他用户身份运行查询

您可以通过请求正文中的参数impersonatedUser执行查询,该参数指定要模拟的用户名称,从而在其他用户的安全上下文中执行查询。为此,发送请求的用户需要具有相应的权限

模拟用户时,查询将在模拟用户的完整安全上下文中运行,而不是在已认证的用户(即主数据库、权限等)的上下文中运行。

示例请求

POST http://localhost:7474/db/neo4j/query/v2
Authorization: Basic bmVvNGo6dmVyeXNlY3JldA==
Content-Type: application/json
{
  "statement": "MATCH (n:Person) RETURN n.name LIMIT 1",
  "impersonatedUser": "anotherUser"
}

示例响应

202: OK
Content-Type: application/json
{
  "data": {
    "fields": [
      "n.name"
    ],
    "values": [
      "Alice"
    ]
  },
  "bookmarks": [
    "FB:kcwQ/wTfJf8rS1WY+GiIKXsCXgyQ"
  ]
}