窗体的自定义按钮权限控制-扩展权限按钮详解
作者:作者不详  发布日期:2021/07/22 11:49:08
  窗体的自定义按钮权限控制-扩展权限按钮详解

窗体的自定义按钮权限控制-扩展权限按钮详解


解决方案:


1. 在模块主窗体的SetMenuTag方法内添加菜单的自定义权限


打开模块主窗体,如:frmModuleMain.cs文件,在SetMenuTag方法内添加菜单的自定义权限:


1.1 添加ButtonAuthority.EX_01扩展权限

1.2 给ButtonAuthority.EX_01自定义按钮名称


C# Code:

/// <summary>
/// 定义菜单与窗体的功能权限。
/// </summary>
private void SetMenuTag()
{
  
  
//
  
//省略代码...
  
//
  
//新增的菜单功能,必须指定权限值
  
menuDynamicReport.Tag = new MenuItemTag(MenuType.DataForm, (int)CSFrameworkV5.Interfaces.ModuleID.ReportModule, AuthorityCategory.REPORT_ACTION_VALUE + ButtonAuthority.EX_01);
  
  (menuDynamicReport.Tag
as MenuItemTag).SetActionName(ButtonAuthority.EX_01, "发送电子邮件");

}

//来源:C/S框架网 | www.csframework.com | QQ:23404761




2. 功能窗体的自定义按钮权限控制


在Form.Load事件内调用ButtonAuthorized方法判断当前窗体是否拥有指定的权限
如:ButtonAuthority.EX_01


C# Code:

private void frmDynamicReport_Load(object sender, EventArgs e)
{
  
this.InitButtons();
  
  
//
  
//省略代码...
  
//
  
//控制按钮权限
  
btnSendEmail.Enabled = this.ButtonAuthorized(ButtonAuthority.EX_01);
}

//来源:C/S框架网 | www.csframework.com | QQ:23404761




3. 如上操作完成,重新编译,并运行程序,管理员登录



4. 系统管理模块【导入菜单数据】


打开系统管理模块的【菜单功能】界面,点【导入菜单数据】按钮,系统自动导入最新的菜单权限定义数据。


贴图图片-扩展权限按钮-界面按钮权限


5. 测试案例 - 测试不分配权限


贴图图片-扩展权限按钮-界面按钮权限1



贴图图片-扩展权限按钮-界面按钮权限2



6. 测试案例 - 测试分配权限


贴图图片-扩展权限按钮-界面按钮权3



贴图图片-扩展权限按钮-界面按钮权4





C/S框架网|原创精神.创造价值.打造精品


扫一扫加作者微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务


C/S框架网|原创精神.创造价值.打造精品


扫一扫加作者微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务
上一篇 下一篇