¶ 管理角色
更新时间: 2024-10-10 07:28:40
此模块用于管理 Authing 角色,可以进行角色的增删改查、角色添加/删除用户、角色添加/删除策略 等操作。
¶ 创建角色
managementClient.Roles.Create(string code, string description = null,string parentCode = null ,string nameSpace=null)
创建角色
¶ 参数
code
<string> 角色唯一标志符description
<string> 角色描述parentCode
<string> 父角色唯一标志符
¶ 示例
managementClient.Roles.Create("code");
¶ 删除角色
managementClient.Roles.Delete(string code)
删除角色
¶ 参数
code
<string> 角色唯一标志符
¶ 示例
managementClient.Roles.Delete("code");
¶ 批量删除角色
managementClient.Roles.DeleteMany(IEnumerable<string> codeList)
managementClient.Roles.DeleteMany(IEnumerable<string> codeList,string nameSpace = null)
批量删除角色
¶ 参数
codeList
<IEnumerable<string> 角色唯一标志符列表
¶ 示例
var list = new List<string>(){};
managementClient.Roles.DeleteMany(list);
¶ 修改角色
managementClient.Roles.Update(string code, string description = null,string newCode = null)
managementClient.Roles.Update(UpdateRoleOptions updateRoleOptions)
修改角色
¶ 参数
code
<string> 角色唯一标志符description
<string> 描述信息newCode
<string> 新的唯一标志符input
<UpdateRoleParam>input.code
<string> 角色唯一标志符input.description
<string> 描述信息input.newCode
<string> 新的唯一标志符input.namespace
<string> 权限分组的 Code,详情请见使用权限分组管理权限资源。
¶ 示例
managementClient.Roles.Update("oldCode","description","newCode);
¶ 查询角色详情
managementClient.Roles.FindByCode(string code,string nameSpace = null)
获取角色详情
¶ 参数
code
<string> 角色唯一标识namespace
<string> 权限分组的 Code,详情请见使用权限分组管理权限资源。
¶ 示例
var result = await managementClient.Roles.FindByCode("code","nameSpace");
¶ 获取角色详情
managementClient.Roles.Detail(string code,string nameSpace = null)
获取角色详情
¶ 参数
code
<string> 角色唯一标识namespace
<string> 权限分组的 Code,详情请见使用权限分组管理权限资源。
¶ 示例
var result = await managementClient.Roles.Detail("code","nameSpace");
¶ 获取角色列表
managementClient.Roles.List(int page = 1,int limit = 10)
获取角色列表
¶ 参数
page
<int> 页码数,默认值:1。limit
<int> 每页个数,默认值:10。
¶ 示例
var result = await managementClient.Roles.List(int page = 1,int limit = 10);
¶ 获取用户列表
managementClient.Roles.ListUsers(string code)
获取用户列表
¶ 参数
code
<string> 角色唯一标志符
¶ 示例
var users = await managementClient.Roles.ListUsers("code");
¶ 添加用户
managementClient.Roles.AddUsers(string code,IEnumerable<string> userIds, nameSpace = null)
添加用户
¶ 参数
code
<string> 角色唯一标志符userIds
<List<string>> 用户 ID 列表nameSpace
<string> 分组ID
¶ 示例
var userIds = new List<string>(){ "userId" };
managementClient.Roles.AddUsers("code", userIds,"nameSpace");
¶ 移除用户
managementClient.Roles.RemoveUsers(string code,IEnumerable<string> userIds,string nameSpace = null)
移除用户
¶ 参数
code
<string> 角色唯一标志符userIds
<List<string>> 用户 ID 列表namespace
<string> 权限分组的 Code
¶ 示例
var userIds = new List<string>(){ "userId" };
managementClient.Roles.RemoveUsers("code", userIds);
¶ 获取策略列表
managementClient.Roles.ListPolicies(string code,int page = 1,int limit = 10)
获取策略列表
¶ 参数
code
<string> 角色唯一标志符page
<int> 页码数,默认值:1。limit
<int> 每页个数,默认值:10。
¶ 示例
managementClient.Roles.ListPolicies("code", 1, 10);
¶ 批量添加策略
managementClient.Roles.AddPolicies(string code,IEnumerable<string> policies)
批量添加策略
¶ 参数
code
<string> 角色唯一标志符policies
<List<string>> 策略唯一标识的集合
¶ 示例
var list = new List<string>(){ "id" };
managementClient.Roles.AddPolicies("code",list );
¶ 批量移除策略
managementClient.Roles.RemovePolicies(string code,IEnumerable<string> policies)
批量移除策略
¶ 参数
code
<string> 角色唯一标志符policies
<List<string>> 策略唯一标识的集合
¶ 示例
var list = new List<string>(){ "id };
managementClient.Roles.RemovePolicies("code", list);
¶ 获取角色被授权的所有资源列表
managementClient.Roles.ListAuthorizedResources(string code, string nameSpace, ResourceType resourceType = default)
获取一个角色被授权的所有资源。
¶ 参数
code
<string> 角色 Codenamespace
<string> 权限分组的 Code,详情请见使用权限分组管理权限资源。resourceType
<ResourceType> 可选,资源类型,默认会返回所有有权限的资源,现有资源类型如下:DATA
:数据类型;API
:API 类型数据;MENU
:菜单类型数据;BUTTON
:按钮类型数据。
¶ 示例
var result = await managementClient.Roles.ListAuthorizedResources("code", "roleGroupCode");
¶ 示例数据
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"]
}
]
}
¶ 获取某个角色扩展字段列表
managementClient.Roles.GetUdfValue(string roleCode)
获取某个角色扩展字段列表
¶ 参数
roleCode
<string> 角色 Code
¶ 示例
managementClient.Roles.GetUdfValue("ROLE_CODE");
¶ 获取某个角色某个扩展字段
managementClient.Roles.GetSpecificUdfValue(string roleId, string udfKey)
获取某个角色某个扩展字段
¶ 参数
roleCode
<string> 角色 CodeudfKey
<string> 角色自定义扩展字段的 Key
¶ 示例
managementClient.Roles.GetSpecificUdfValue("ROLE_CODE");
¶ 获取多个角色扩展字段列表
managementClient.Roles.GetUdfValueBatch(IEnumerable<string> roleIds)
获取多个角色扩展字段列表
¶ 参数
roleCodes
<List<string>> 角色 Code 列表
¶ 示例
var codeList = new List<string>(){ "roleId" };
var udfMap = await managementClient.Roles.GetUdfValueBatch(codeList);
¶ 设置角色扩展字段列表
managementClient.Roles.SetUdfValue(SetUdfValueParam setUdfValueParam)
设置角色扩展字段列表
¶ 参数
SetUdfValueParam.RoleId
<string> 角色 IDSetUdfValueParam.UdvList
<Map<string, string>> 字段映射 MapUdvList.key
<string> 字段 KeyUdvList.value
<string> 字段 Value
¶ 示例
var list = await managementClient.Roles.SetUdfValue("RoleId");
¶ 设置多个角色扩展字段列表
managementClient.Roles.SetUdfValueBatch(IEnumerable<SetUdfValueParam> setUdfValueBatchParam)
设置多个角色扩展字段列表
¶ 参数
setUdfValueBatchParam
<List<SetUdfValueParam>>- <SetUdfValueParam>
roleCode
<string> 角色 Codedata
<Map<string, string>> 字段 Map
¶ 示例
var list = await managementClient.Roles.SetUdfValue("RoleId");
¶ 移除用户自定义数据
managementClient.Roles.RemoveUdfValue(string roleId, string key)
移除用户自定义数据
¶ 参数
code
<string> 角色 Codekey
<string> 字段 Key
¶ 示例
managementClient.Roles.RemoveUdfValue("code", "key")