窗体的自定义按钮权限控制-扩展权限按钮详解
窗体的自定义按钮权限控制-扩展权限按钮详解
扫一扫加作者微信
扫一扫加作者微信
解决方案:
1. 在模块主窗体的SetMenuTag方法内添加菜单的自定义权限
打开模块主窗体,如:frmModuleMain.cs文件,在SetMenuTag方法内添加菜单的自定义权限:
1.1 添加ButtonAuthority.EX_01扩展权限
1.2 给ButtonAuthority.EX_01自定义按钮名称
C# Code:
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
/// <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, "发送电子邮件");
/// 定义菜单与窗体的功能权限。
/// </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
{
this.InitButtons();
//
//省略代码...
//
//控制按钮权限
btnSendEmail.Enabled = this.ButtonAuthorized(ButtonAuthority.EX_01);
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
3. 如上操作完成,重新编译,并运行程序,管理员登录。
4. 系统管理模块【导入菜单数据】
打开系统管理模块的【菜单功能】界面,点【导入菜单数据】按钮,系统自动导入最新的菜单权限定义数据。
5. 测试案例 - 测试不分配权限
6. 测试案例 - 测试分配权限
扫一扫加作者微信
扫一扫加作者微信
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网