权限管理接口
功能描述
功能权限管理接口提供对功能权限的添加、删除、查询和更新操作。
接口列表
添加权限
功能描述
添加权限。不检查功能编码是否存在,允许添加未定义功能的权限。
接口定义
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);