跳转至

权限管理接口

功能描述

功能权限管理接口提供对功能权限的添加、删除、查询和更新操作。

接口列表

添加权限

功能描述

添加权限。不检查功能编码是否存在,允许添加未定义功能的权限。

接口定义

ErrorCode AddAcl(FunctionAcl acl);

参数

参数名称 是否必填 类型 描述
acl H3.Acl.FunctionAcl 权限对象

返回值

类型 描述
H3.ErrorCode 表示添加权限是否成功的错误代码

示例

string appCode = "appCode";
string[] defaultFormActions = new string[] { H3.SmartForm.Utility.FormButton_Save, H3.SmartForm.Utility.FormButton_Submit, H3.SmartForm.Utility.FormButton_Print };
string[] defaultListViewActions = new string[] { H3.SmartForm.Utility.ListViewAction_Create };
H3.Acl.FunctionAcl NewAcl = new H3.Acl.FunctionAcl(H3.Organization.OrgRole.UserRoleId, appCode, H3.Organization.User.SystemUserId);
NewAcl.FormActions = defaultFormActions;
NewAcl.ListViewActions = defaultListViewActions;
H3.ErrorCode errorCode = this.Engine.FunctionAclManager.AddAcl(NewAcl);

删除权限

功能描述

根据权限对象 ID 删除对应的权限。

接口定义

ErrorCode DeleteAcl(string aclId);

参数

参数名称 是否必填 类型 描述
aclId string 权限对象 ID

返回值

类型 描述
H3.ErrorCode 表示删除权限是否成功的错误代码

示例

H3.ErrorCode errorCode = this.Engine.FunctionAclManager.DeleteAcl("aclId");

获取权限

功能描述

根据权限对象 ID 获取对应的权限对象。

接口定义

FunctionAcl GetAcl(string aclId);

参数

参数名称 是否必填 类型 描述
aclId string 权限对象 ID

返回值

类型 描述
H3.Acl.FunctionAcl 对应的权限对象

示例

H3.Acl.FunctionAcl acl = this.Engine.FunctionAclManager.GetAcl("aclId");

获取角色拥有的所有权限

功能描述

获取指定角色集合所拥有的所有功能权限。

接口定义

Dictionary<string, FunctionAcl[]> GetRoleAcls(string[] roles);

参数

参数名称 是否必填 类型 描述
roles string[] 角色 ID 数组

返回值

类型 描述
Dictionary<string, H3.Acl.FunctionAcl[]> 键为小写的角色 ID,值为该角色拥有的功能权限数组。

示例

Dictionary<string, H3.Acl.FunctionAcl[]> roleAcls = this.Engine.FunctionAclManager.GetRoleAcls(new string[] {"roleId1", "roleId2"});

根据功能编码获取相应的所有权限设置

功能描述

根据指定的功能权限编码,获取所有相关的权限设置。

接口定义

FunctionAcl[] GetFunctionAcls(string functionCode);

参数

参数名称 是否必填 类型 描述
functionCode string 功能权限编码

返回值

类型 描述
H3.Acl.FunctionAcl[] 相应的所有权限设置数组

示例

H3.Acl.FunctionAcl[] acls = this.Engine.FunctionAclManager.GetFunctionAcls(`表单编码`);

更新权限

功能描述

更新指定的菜单权限对象。

接口定义

void UpdateAcl(FunctionAcl acl);

参数

参数名称 是否必填 类型 描述
acl H3.Acl.FunctionAcl 菜单权限对象

返回值

类型 描述
-

示例

H3.Acl.FunctionAcl acl = this.Engine.FunctionAclManager.GetAcl("aclId");
// 修改权限
acl.FormActions = new string[] {"Save"};
this.Engine.FunctionAclManager.UpdateAcl(acl);