使用 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 语句以重新创建索引和约束” 类似
此页面有帮助吗?