用户扩展权限,用户自定义权限 - 窗体自定义按钮权限控制
用户扩展权限,用户自定义权限 - 窗体自定义按钮权限控制
目录
解决方案
1. 在模块主窗体的SetMenuTag方法内添加菜单的自定义权限
打开模块主窗体,如:frmModuleMain.cs文件,在SetMenuTag方法内添加菜单的自定义权限:
- 添加ButtonAuthority.EX_01扩展权限
- 设置ButtonAuthority.EX_01自定义按钮名称
C# 全选
/// <summary>
/// 定义菜单与窗体的功能权限。
/// </summary>
private void SetMenuTag()
{
//
//省略代码...
//
//添加ButtonAuthority.EX_01扩展权限
menuDynamicReport.Tag = new MenuItemTag(MenuType.DataForm, (int)CSFrameworkV5.Interfaces.ModuleID.ReportModule, AuthorityCategory.REPORT_ACTION_VALUE + ButtonAuthority.EX_01);
//设置ButtonAuthority.EX_01自定义按钮名称
(menuDynamicReport.Tag as MenuItemTag).SetActionName(ButtonAuthority.EX_01, "发送电子邮件");
}
2. 功能窗体的自定义按钮权限控制
在Form.Load事件内 调用ButtonAuthorized方法判断当前窗体是否拥有指定的权限,
C# 全选
private void frmDynamicReport_Load(object sender, EventArgs e)
{
this.InitButtons();
//
//省略代码...
//
//控制扩展按钮权限
btnSendEmail.Enabled = this.ButtonAuthorized(ButtonAuthority.EX_01);
//使用标准权限<Edit权限> 控制Panel组件是否可编辑
pnlPrivateData.Enable = this.ButtonAuthorized(ButtonAuthority.Edit);
}
3. 重新编译,运行程序,管理员登录。
4. 系统管理模块【导入菜单数据】
打开系统管理模块的【菜单功能】界面,点【导入菜单数据】按钮,系统自动导入最新的菜单权限定义数据。
5. 测试案例1 - 不分配权限,按钮是禁用状态
6. 测试案例2 - 分配权限,按钮可用
扫一扫加作者微信
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网