¶ 管理分组
更新时间: 2024-10-10 07:28:40
此模块用于管理 Authing 分组,可以进行分组的增删改查、分组添加/删除用户、分组添加/删除策略 等操作。
¶ 创建分组
GroupsManagementClient().create(groupInfo)
创建分组
¶ 参数
groupInfo
<CreateGroupParam> 分组资料groupInfo.code
<String> 分组唯一标志符groupInfo.name
<Boolean> 分组名称groupInfo.description
<String> 描述
¶ 示例
String code = "code1";
String name = "name1";
String description = "desc1";
Group group = managementClient.group().create(new CreateGroupParam(code, name, description)).execute();
¶ 删除分组
GroupsManagementClient().delete(code)
删除分组
¶ 参数
code
<String> 分组唯一标志符
¶ 示例
String code = "code1";
managementClient.group().delete(code).execute();
¶ 修改分组
GroupsManagementClient().update(groupInfo)
修改分组
¶ 参数
groupInfo
<CreateGroupParam> 分组资料groupInfo.code
<String> 分组唯一标志符groupInfo.name
<Boolean> 分组名称groupInfo.description
<String> 描述groupInfo.newCode
<String> 新的唯一标志符
¶ 示例
String code = "code1";
String name = "name1";
String description = "desc1";
String newCode = "code2";
Group group = managementClient.group().update(new UpdateGroupParam(code, name, description, newCode)).execute();
¶ 获取分组详情
GroupsManagementClient().detail(code)
获取一个分组的详情信息
¶ 参数
code
<String> 分组唯一标志符
¶ 示例
String code = "code1";
Group group = managementClient.group().detail(code).execute();
¶ 获取分组列表
GroupsManagementClient().list(listParam)
获取分组列表
¶ 参数
listParam
<GroupsParam> 分页请求参数listParam.userId
<String> 用户 IDlistParam.page
<Integer> 页码数,默认值:1
。listParam.limit
<Integer> 每页个数,默认值:10
。listParam.sortBy
<SortByEnum> 排序规则
¶ 示例
String userId = "userId1";
Integer page = 1;
Integer limit = 10;
SortByEnum sortEnum = SortByEnum.CREATEDAT_DESC;
PaginatedGroups groups = managementClient
.group()
.list(new GroupsParam(userId, page, limit, sortEnum))
.execute();
¶ 批量删除分组
GroupsManagementClient().deleteMany(codeList)
批量删除分组
¶ 参数
codeList
<List<String>> 分组唯一标志符列表
¶ 示例
ArrayList<String> codeList = new ArrayList<>();
codeList.add("code1");
managementClient.group().deleteMany(codeList).execute();
¶ 获取分组用户列表
GroupsManagementClient().listUsers(param)
获取分组用户列表
¶ 参数
param
<GroupWithUsersParam>param.code
<String> 分组唯一标志符param.page
<Integer> 页码数,默认值:1
。param.limit
<Integer> 每页个数,默认值:10
。
¶ 示例
String code = "code1";
int page = 1;
int limit = 10;
PaginatedUsers users = managementClient.group().listUsers(code, page, limit).execute();
¶ 添加用户
GroupsManagementClient().addUsers(param)
添加用户
¶ 参数
param
<AddUserToGroupParam>param.code
<String> 分组唯一标志符param.userIds
<List<String>> 用户 ID 列表
¶ 示例
String code = "code1";
List<String> userIds = new ArrayList<>();
userIds.add("userId1");
managementClient.group().addUsers(new AddUserToGroupParam(userIds, code)).execute();
¶ 移除用户
GroupsManagementClient().removeUsers(param)
移除用户
¶ 参数
param
<RemoveUserFromGroupParam>param.code
<String> 分组唯一标志符param.userIds
<List<String>> 用户 ID 列表
¶ 示例
String code = "code1";
List<String> userIds = new ArrayList<>();
userIds.add("userId1");
managementClient.group().removeUsers(new RemoveUserFromGroupParam(userIds, code)).execute();
¶ 获取分组被授权的所有资源列表
managementClient.group().listAuthorizedResources(param)
获取一个分组被授权的所有资源。
¶ 参数
param
<ListGroupAuthorizedResourcesParam>param.code
<String> 分组 Codeparam.namespace
<String> 权限分组的 Code,详情请见使用权限分组管理权限资源。param.resourceType
<String> 可选,资源类型,默认会返回所有有权限的资源,现有资源类型如下:DATA
:数据类型;API
:API 类型数据;MENU
:菜单类型数据;BUTTON
:按钮类型数据。
¶ 示例
ListGroupAuthorizedResourcesParam param = new ListGroupAuthorizedResourcesParam("code")
.withNamespace("default")
.withResourceType("DATA");
Group res = managementClient.group().listAuthorizedResources(param).execute();
¶ 示例数据
type
资源类型code
资源描述符,如果是DATA
类型资源,格式为resourceType:resourceId
,如books:*
表示所有书籍,books:1
表示 ID 为 1 的书籍。actions
用户被授权对该资源的操作
{
"totalCount": 12,
"list": [
{
"code": "menu_a",
"type": "MENU"
},
{
"code": "menu_b",
"type": "MENU"
},
{
"code": "books:1",
"type": "DATA",
"actions": ["books:delete", "books:update"]
}
]
}