使用 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 语句”相似
此页面有帮助吗?