概述
User API是用于管理 Fess 用户账户的REST API。 您可以创建、获取、更新、删除用户,以及分配角色和组。
这是一个管理用API,使用时需要通过管理员访问令牌进行认证。 有关认证方式和公共规格,请参阅 Admin API 概述。
所有响应均包装在 response 对象中,并包含以下公共字段:
version:Fess 产品版本字符串。status:处理结果状态码(0=成功,1=请求错误,2=系统错误,3=未授权,9=失败)。
基础URL
端点列表
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /settings | 获取用户列表 |
| GET | /setting/{id} | 获取用户 |
| POST | /setting | 创建用户 |
| PUT | /setting | 更新用户 |
| DELETE | /setting/{id} | 删除用户 |
获取用户列表
请求
参数
| 参数 | 类型 | 必需 | 说明 |
|---|---|---|---|
size | Integer | 否 | 每页记录数。默认值为配置项 paging.page.size 的值(默认:25)。 |
page | Integer | 否 | 页码(从1开始)。默认值为1。 |
Note
在当前实现中,获取用户列表端点不应用 size 和 page 参数。 始终返回第一页,记录数由服务器设置 paging.page.size 决定(默认:25),并按用户名(name)升序排序。 匹配用户的总数可通过 response.total 获取。
响应
settings:当前页包含的用户数组。total:匹配条件的用户总数。
获取用户
请求
在 {id} 中指定目标用户的文档ID。
响应
Note
attributes 包含用户存储的所有属性,但不包含 name、password、roles 和 groups。 password 不包含在响应中。
创建用户
请求
请求体
字段说明
| 字段 | 必需 | 说明 |
|---|---|---|
name | 是 | 用户名(登录ID) |
password | 否 | 密码 |
confirmPassword | 否 | 确认密码 |
attributes | 否 | 属性映射(见下文) |
roles | 否 | 角色ID数组 |
groups | 否 | 组ID数组 |
Note
REST API不执行密码必填检查、password 与 confirmPassword 的一致性检查,以及密码策略验证(这些仅在管理界面中应用)。 实际使用中,建议指定有效的 password 且其值与 confirmPassword 一致。
attributes 的键为用户实体的属性名(源自LDAP的模式项目名)。 常用的键如下:
surname、givenName、displayName、mailtelephoneNumber、mobile、homePhoneemployeeNumber、title、description、homeDirectoryuidNumber、gidNumber
uidNumber 和 gidNumber 必须为数值(在更新时会进行类型验证)。 此外,还可以指定许多其他LDAP属性键。
Note
创建时,用户ID(文档ID)会自动生成为用户名的Base64 URL编码值 (例如,用户名 admin 对应 YWRtaW4=)。
响应
id:创建的用户的文档ID。created:创建成功时为true。
更新用户
请求
请求体
字段说明
| 字段 | 必需 | 说明 |
|---|---|---|
id | 是 | 要更新的用户的文档ID。 |
name | 是 | 用户名(登录ID) |
versionNo | 是 | 版本号(用于乐观锁) |
password | 否 | 新密码(仅在指定时更新) |
confirmPassword | 否 | 确认密码 |
attributes | 否 | 属性映射(参见”创建用户”) |
roles | 否 | 角色ID数组 |
groups | 否 | 组ID数组 |
Note
更新时,id、name 和 versionNo 为必填项。 versionNo 是获取目标用户(GET)时返回的值,对应OpenSearch文档的版本号。 如果与当前版本不匹配,请求将被视为冲突并拒绝更新。
响应
created:更新时为false。
删除用户
请求
在 {id} 中指定要删除的用户的文档ID。
Note
无法删除当前已登录的用户。
响应
id:已删除用户的文档ID。
使用示例
创建新用户
更改用户角色
参考信息
Admin API 概述 - Admin API概述
Role API - 角色管理API
Group API - 组管理API
用户 - 用户管理指南