我可以通过输入server: connect
并登录来使用用户名和密码http://localhost:7474/登录。我可以通过执行查询来查看数据。
然后我立即切换到新标签或同一标签,然后转到:http://localhost:7474/db/data/,我得到:
{
"errors" : [ {
"message" : "No authorization header supplied.",
"code" : "Neo.ClientError.Security.AuthorizationFailed"
} ]
}
我无法使用相同的密码使用py2Neo或任何NEO4J库进行连接;他们返回完全相同的错误。
我做错了什么?
答案 0 :(得分:2)
现在,所有REST API请求都必须包含Authorization
标头。引用neo4j手册的REST API Authentication and Authorization页:
请求应包含一个Authorization标头,其值为
Basic <payload>
,其中“payload”是base64编码的字符串 “用户名:密码”
该页面包含一些示例。
注意:您也可以禁用身份验证 - 但您只能在个人计算机上执行此操作以进行开发。您可以通过在false
中设置dbms.security.auth_enabled
<neo4j-install-dir>/conf/neo4j-server.properties
属性,然后重新启动服务器来完成此操作。
[增订]
顺便说一句,由于您的问题提到py2neo
,您应该知道其Graph类支持“授权”。
答案 1 :(得分:1)
将此添加到您的http-header请求中:
授权:&#34;基本xxxx&#34;
xxxx = base64(用户名:密码)