任何人都知道如何配置janusgraph服务器的用户名和密码。因此,发送到此janusgraph服务器的任何http / socket都需要进行身份验证。
谢谢
答案 0 :(得分:2)
JanusGraph打包TinkerPop的Gremlin服务器,因此要配置身份验证,您只需按照Gremlin Server的说明进行操作即可。基本步骤是修改服务器yaml文件以包含以下内容:
authentication: {
authenticator: org.apache.tinkerpop.gremlin.server.auth.SimpleAuthenticator,
config: {
credentialsDb: conf/credentials.properties}}
设置"简单"使用Graph
配置的本地conf/credentials.properties
实例来存放用户名/密码的身份验证系统。显然,如果你喜欢并使用它,你可以写一个更高级的Authenticator
- SimpleAuthenticator
实际上只是一个让人们入手的参考实现。这是一个使用TinkerGraph作为凭证的目标数据库的示例:
gremlin.graph=org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph
gremlin.tinkergraph.vertexIdManager=LONG
gremlin.tinkergraph.graphLocation=data/credentials.kryo
gremlin.tinkergraph.graphFormat=gryo
但显然可能是您想要使用的任何Graph
。
要在该图表中设置用户名和密码,您需要使用通常通过Gremlin控制台作为管理任务执行的凭据DSL。你可以这样做:
gremlin> :plugin use tinkerpop.credentials
==>tinkerpop.credentials activated
gremlin> graph = ... // create your graph instance for usernames/passwords
...
gremlin> credentials = credentials(graph)
==>CredentialGraph{graph=tinkergraph[vertices:0 edges:0]}
gremlin> credentials.createUser("stephen","password")
==>v[0]
gremlin> credentials.createUser("daniel","better-password")
==>v[3]
gremlin> credentials.createUser("marko","rainbow-dash")
==>v[6]
gremlin> credentials.findUser("marko").properties()
==>vp[password->$2a$04$lBXMnKWtLB...]
==>vp[username->marko]
gremlin> credentials.countUsers()
==>3
gremlin> credentials.removeUser("daniel")
==>1
gremlin> credentials.countUsers()
==>2
使用该配置启动Gremlin Server,并启用身份验证。
这些步骤在TinkerPop reference documentation中有更详细的描述。我建议您自己download Gremlin Server并检查预配置的" secure"具有已构建的"凭证图的配置"那个用户TinkerGraph。您可以使用以下命令运行该示例:
$ bin/gremlin-server.sh conf/gremlin-server-secure.yaml
仔细查看conf/gremlin-server-secure.yaml
中的内容以及它与conf/tinkergraph-credentials.properties
的关系,然后在JanusGraph Server配置中进行类似的更改。这应该让你开始。