举例说明:

    HugeGraph默认不启用用户认证功能,可通过修改配置文件来启用该功能。内置实现了和ConfigAuthenticator两种模式,StandardAuthenticator模式支持多用户认证与细粒度权限控制,ConfigAuthenticator模式支持简单的用户权限认证。此外,开发者可以自定义实现HugeAuthenticator接口来对接自身的权限系统。

    用户认证方式均采用 ,简单说就是在发送 HTTP 请求时在 Authentication 设置选择 Basic 然后输入对应的用户名和密码,对应 HTTP 明文如下所示 :

    1. GET http://localhost:8080/graphs/hugegraph/schema/vertexlabels
    2. Authorization: Basic admin xxxx

    StandardAuthenticator模式

    StandardAuthenticator模式是通过在数据库后端存储用户信息来支持用户认证和权限控制,该实现基于数据库存储的用户的名称与密码进行认证(密码已被加密),基于用户的角色来细粒度控制用户权限。下面是具体的配置流程(重启服务生效):

    在配置文件中配置authenticator及其graph_store信息:

    1. auth.authenticator=com.baidu.hugegraph.auth.StandardAuthenticator
    2. auth.graph_store=hugegraph

    其中,graph_store配置项是指使用哪一个图来存储用户信息,如果存在多个图的话,选取任意一个均可。

    在配置文件hugegraph{n}.properties中配置gremlin.graph信息:

    然后详细的权限 API 调用和说明请参考 文档

    ConfigAuthenticator模式

    在配置文件gremlin-server.yaml中配置authenticator及其rest-server文件路径:

    1. authenticator: com.baidu.hugegraph.auth.ConfigAuthenticator,
    2. authenticationHandler: com.baidu.hugegraph.auth.WsAndHttpBasicAuthHandler,
    3. config: {tokens: /etc/hugegraph/rest-server.properties}
    4. }

    在配置文件rest-server.properties中配置authenticator及其tokens信息:

    在配置文件hugegraph{n}.properties中配置gremlin.graph信息:

      如果需要支持更加灵活的用户系统,可自定义authenticator进行扩展,自定义authenticator实现接口com.baidu.hugegraph.auth.HugeAuthenticator即可,然后修改配置文件中authenticator配置项指向该实现。