Winform开发框架 | 表格编辑窗体权限控制|C/S开发框架

Winform开发框架 - 表格编辑窗体权限控制
1、定义菜单权限
模块主窗体添加菜单,并定义菜单权限。 定义一个菜单,一个按钮,如下图:

给菜单组件定义权限(Tag属性分配MenuItemTag实例)
C# 全选
menu业务员管理Grid编辑.Tag = new MenuItemTag(MenuType.Dialog, (int)CSFrameworkV6.Interfaces.ModuleID.DataDictionary, AuthorityCategory.MASTER_ACTION);AuthorityCategory.MASTER_ACTION 权限值=1135
MASTER_ACTION常量参考
/// <summary>
/// 数据字典窗体:拥有的功能(增、删、改、查、导出、打印、预览)
/// </summary>
public const int MASTER_ACTION = DATA_ACTION_VALUE + REPORT_ACTION_VALUE;
参考:CSFrameworkV6.Core.dll ButtonAuthority.cs源码
2、表格编辑窗体权限控制
Form的Load事件最后一行,调用 SetPermission 方法:
C# 全选
private void frmPersonGrid_Load(object sender, EventArgs e)
{
//省略...................
this.BoundLookupData();
this.DoShowSummary();
this.SetPermission();
}C# 全选
/// <summary>
/// 设置权限
/// </summary>
private void SetPermission()
{
//1、获取增、删、改权限
var allowAdd = this.ButtonAuthorized(ButtonAuthority.ADD);
var allowEdit = this.ButtonAuthorized(ButtonAuthority.EDIT);
var allowDel = this.ButtonAuthorized(ButtonAuthority.DELETE);
//2、控制表格是否可编辑,判断ADD/EDIT权限
gvSummary.OptionsBehavior.Editable = allowAdd && allowEdit;
//3、控制表格的新增、插入、删除按钮
gcSummary.SetCustomButtonEnable(nameof(DetailButtons.Add), allowAdd);
gcSummary.SetCustomButtonEnable(nameof(DetailButtons.Insert), allowAdd);
gcSummary.SetCustomButtonEnable(nameof(DetailButtons.Delete), allowDel);
}若当前用户没有权限,表格无法编辑,按钮状态为禁用。

3、分配用户权限
参考系统管理模块的【角色定义】及【用户管理】,给测试用户分配角色进行测试。
注意:如果是新建的功能菜单,务必使用系统管理模块【菜单功能】导入菜单数据,然后定义角色权限。

参考文档:
C/S软件授权注册系统V3.0(Winform+WebApi+.NET8+EFCore版本)|C/S开发框架
C# Winform等待窗体WaitingForm组件下载(CSFramework提供)|C/S开发框架
企业级C/S系统快速开发框架(Winform+.NET8+EFCore)|C/S开发框架
最新MES系统快速开发平台(Winform+NET8+EFCore)|C/S开发框架
Winform软件开发框架|快速开发平台推荐|C/S开发框架
DevExpress组件版本下载、安装与VS开发环境 | Winform C/S框架|C/S开发框架
WinFormsApp窗体应用快速开发框架(.NET7+EFCore+VS2022)
Winform C/S架构自动升级程序 AutoUpgraderV1.2迭代记录|C/S开发框架
C/S Winform框架开发指南 | 如何新增系统消息参数(sys_SystemSettings表)|C/S开发框架
C/S Winform开发框架 | 单表基础资料窗体实现主从表资料管理|C/S开发框架
PLC,上位机软件快速开发框架(VS2022+C#+Winform)
Winform开发框架 - 使用Linq判断日期时间范围查询条件的方法
CSFrameworkV6 - Winform开发框架 - Delete方法使用
CSFrameworkV6 - Winform开发框架 - GetLookupData方法使用
Winform框架通用导入程序,支持Excel,xls/xlsx格式|C/S开发框架
Winform开发框架 - 类库同时支持.NETFramework以及.NET Core
C/S软件授权注册系统V3.0(Winform+WebApi+.NET8+EFCore版本)|C/S开发框架
C# Winform等待窗体WaitingForm组件下载(CSFramework提供)|C/S开发框架
企业级C/S系统快速开发框架(Winform+.NET8+EFCore)|C/S开发框架
最新MES系统快速开发平台(Winform+NET8+EFCore)|C/S开发框架
Winform软件开发框架|快速开发平台推荐|C/S开发框架
DevExpress组件版本下载、安装与VS开发环境 | Winform C/S框架|C/S开发框架
WinFormsApp窗体应用快速开发框架(.NET7+EFCore+VS2022)
Winform C/S架构自动升级程序 AutoUpgraderV1.2迭代记录|C/S开发框架
C/S Winform框架开发指南 | 如何新增系统消息参数(sys_SystemSettings表)|C/S开发框架
C/S Winform开发框架 | 单表基础资料窗体实现主从表资料管理|C/S开发框架
PLC,上位机软件快速开发框架(VS2022+C#+Winform)
Winform开发框架 - 使用Linq判断日期时间范围查询条件的方法
CSFrameworkV6 - Winform开发框架 - Delete方法使用
CSFrameworkV6 - Winform开发框架 - GetLookupData方法使用
Winform框架通用导入程序,支持Excel,xls/xlsx格式|C/S开发框架
Winform开发框架 - 类库同时支持.NETFramework以及.NET Core
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
