使用 Cypher 生成 Cypher 语句以重新创建用户和角色
以下内容可用于从现有数据库中提取用户和角色定义,并将结果输出回放至另一个 Neo4j 数据库。
//export roles
return '//export Roles' as output
union all
call dbms.security.listRoles() yield role return 'call dbms.security.createRole(\'' + role + '\');' as output
union all
//export users
return '//export Users' as output
union all
call dbms.security.listUsers() yield username return 'call dbms.security.createUser(\'' + username + '\',\'newpassword\');' as output
union all
// export user to role maps
return '//export Roles to User map' as output
union all
call dbms.security.listRoles() yield role,users with role,users unwind users as user return 'call dbms.security.addRoleToUser(\'' + role + '\',' + user + '\');' as output
生成的输出将所有用户的密码默认为“newpassword”,用户需要在首次登录时更改密码。示例输出如下所示
//export Roles
call dbms.security.createRole('reader');
call dbms.security.createRole('architect');
call dbms.security.createRole('admin');
call dbms.security.createRole('publisher');
//export Users
call dbms.security.createUser('neo4j_dba','newpassword');
call dbms.security.createUser('neo4j','newpassword');
//export Roles to User map
call dbms.security.addRoleToUser('admin',neo4j');
call dbms.security.addRoleToUser('admin',neo4j_dba');
上述方法类似于相关的知识库文档“使用 Cypher 生成 Cypher 语句以重新创建索引和约束”
此页面是否有帮助?