¶ 管理角色
更新时间: 2022-03-11 11:21:01
此模块用于管理 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")
复制成功
本文是否有解决您的问题?
如果遇到其他问题,你可以在 authing-chat/community 联系我们。