介绍
一个用户可以拥有多个权限、多个策略。
命名规则
用户由开发者自定义名称,一个 Ultipa 实例中的用户不能重名。
- 2 ~ 64 个字符
- 必须以字母开头
- 仅允许使用字母,下划线和数字(即 _ 、A-Z、a-z、0-9)
- 密码长度 6 ~ 64 个字符,字符种类不限
查看用户
返回的表名:_user
返回的表头:username
|create
|lastLogin
|graphPrivileges
|systemPrivileges
|policies
(用户名、创建时间、最后登录时间、图集权限、系统权限、子策略)
语法:
// 查看当前 Ultipa 实例中的所有用户信息
show().user()
// 查看当前 Ultipa 实例中的某个用户信息
show().user("<name>")
// 查看当前登录的用户信息
show().self()
创建用户
语法:
// 在当前 Ultipa 实例中创建一个用户
create().user("<username>", "<password>", <{}graph_privileges?>, <[]system_privileges?>, <[]policies?>)
示例:创建用户 Ultipa,设置密码 ultipaABC123,赋予针对所有图集的图集权限 UPDATE,ALGO,LTE,UFE,系统权限 STAT,TOP,KILL,以及策略 sales
create().user(
"Ultipa",
"ultipaABC123",
{"*": ["UPDATE","ALGO","LTE","UFE"]},
["STAT","TOP","KILL"],
["sales"]
)
修改用户
语法:
// 修改当前 Ultipa 实例中的某个用户
alter().user("<username>")
.set({password:"<new?>", graph_privileges:<{}new?>, system_privileges:<[]new?>, policies:<[]new?>})
示例:将用户 Ultipa 的密码修改为 ultipaFast
alter().user("Ultipa")
.set({password: "ultipaFast"})
示例:修改用户 Ultipa 的权限和策略,使其只能对图集 default 做 UPDATE 操作
alter().user("Ultipa")
.set({graph_privileges: {"default": ["UPDATE"]}})
追加权限策略
语法:
// 为当前 Ultipa 实例中的某个用户追加权限和策略
grant().user("<username>")
.params({graph_privileges:<{}new?>, system_privileges:<[]new?>, policies:<[]new?>})
示例: 给用户 Ultipa 追加针对所有图集的图集权限 UPDATE,以及系统权限 TOP 和 KILL,原有的权限和策略保持不变
grant().user("Ultipa")
.params({graph_privileges: {"*": ["UPDATE"]}, system_privileges: ["TOP", "KILL"]})
撤回权限策略
语法:
// 对当前 Ultipa 实例中的某个用户撤回权限和策略
revoke().user("<username>")
.params({graph_privileges:<{}old?>, system_privileges:<[]old?>, policies:<[]old?>})
示例:撤回用户 Ultipa 对图集 default 的权限 DETELE,其余权限和策略保持不变
revoke().user("Ultipa")
.params({graph_privileges: {"default": ["DELETE"]}})
删除用户
语法:
// 从当前 Ultipa 实例中删除某个用户
drop().user("<name>")
重置管理员账户
重置管理员账户需要通过工具 ultipa-reset-user
在服务器端进行。