WinFramework轻量级开发框架 | 窗体权限机制|C/S开发框架

Winform开发框架快速开发框架软件开发平台WinFramework轻量级框架插件框架原创软件@csframework.com
1. 窗体权限机制简介
WinFramework轻量级框架窗体权限采用逻辑运算“或/or“运算机制,功能权限值在 WinFramework.UI.Core.FunctionAuthority 中定义。
WinFramework.UI.Core.FunctionAuthorityCommon 设定了WinFramework轻量级开发框架中默认已占用的公共权限值,若需要扩展权限,应该避免使用这些已定义的权限值。
2. 计算机编程布尔运算(逻辑运算)
逻辑运算通常用来测试真假值。最常见到的逻辑运算就是循环的处理,用来判断是否该离开循环或继续执行循环内的指令。
逻辑运算:在逻辑代数中,有与、或、非三种基本逻辑运算。表示逻辑运算的方法有多种,如语句描述、逻辑代数式、真值表、卡诺图等。
各种编程语言中的逻辑运算符
作用 | C语言 | Pascal |
等于 | == | = |
不等于 | != | |
小于 | ||
大于 | > | > |
小于等于 | ||
大于等于 | >= | >= |
与 | && | and |
或 | || | or |
非 | ! | not |
异或 | ^ | xor |
运算规则
3. 窗体权限定义 FormAuthority
重载 窗体属性CurrentAuthority,在 frmBaseData 基类窗体中定义的,功能窗体继承 frmBaseData 时,重写这个属性 CurrentAuthority 来定义窗体的权限
protectedoverrideint FormAuthority
{
get
{
return base.CustomerAuthority;
}
}该属性默认为:
//当前窗体初始化的公共权限
protected override int FormAuthority
{
get
{
return FunctionAuthorityCommon.ADD//新增
+ FunctionAuthorityCommon.EDIT//修改
+ FunctionAuthorityCommon.DELETE;//删除
//+ FunctionAuthorityCommon.Save//保存
//+ FunctionAuthorityCommon.Cancel;//取消
}
}可以使用的权限值:参考 WinFramework.UI.Core.FunctionAuthority类
| 属性 | 名称 | 权限值 |
| NONE | 没有任何权限 | 0 |
| FVIEW | 访问权限,每个窗体都应该有 | 1 |
| ADD | 新增 | 2 |
| DELETE | 删除 | 4 |
| EDIT | 修改 | 8 |
| SaveEx | 保存 | 16 |
| SaveAndCloseEx | 保存后关闭 | 64 |
| APPROVAL | 审核 | 32 |
| PREVIEW | 打印预览 | 128 |
| Export | 导出 | 256 |
| CancelEx | 返回/取消 | 512 |
| Refresh | 刷新 | 1024 |
| EX_01 | 扩展权限 | 2048 |
| EX_02 | 扩展权限 | 4096 |
| EX_03 | 扩展权限 | 8192 |
| EX_04 | 扩展权限 | 16384 |
| EX_05 | 扩展权限 | 32768 |
| EX_06 | 扩展权限 | 65536 |
| ALL | 所有权限 | 1073741823 |
4. 设置权限名称
在frmBaseChild 基类窗体中使用 SetAuthorizeName 方法来设置权限名称,frmBaseChild 中提供一个虚拟函数 InitAuthorize(),会在构造器中调用这个函数。
/// <summary>
/// 构造函数
/// </summary>
public frmBaseChild()
{
InitializeComponent();
//if (CheckDesingModel.IsDesingMode()) return;
if (this.isDesignTime) return;
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
_Buttons = new RibbonBarButtonCollection();
this.Load += frmChildBase_Load;
this.InitAuthorize();
}
/// <summary>
/// 初始化权限
/// </summary>
protected virtual void InitAuthorize()
{
SetAuthorizeName(FunctionAuthorityCommon.FVIEW, "查看");
}因此我们只需要重构 frmBaseChild 中的 IniAuthorize() 方法,就能修改权限名称了
protected override void InitAuthorize()
{
base.InitAuthorize();
// 设置Ex01的权限名称
SetAuthorizeName(FunctionAuthority.EX_01, "布局调整");
}5. 取消窗体的查看权限(不展示窗体)
WinFramework.UI.Dev.LibForm.frmBaseChild 中默认会给权限增加一个公共权限值=1,FunctionAuthorityCommon.FVIEW 访问权限。
/// <summary>
/// 查看
/// </summary>
internal const int FVIEW = 1;/// <summary>
/// 当前窗体权限
/// </summary>
protected virtual int FormAuthorityAll
{
get
{
return FormAuthority | FunctionAuthorityCommon.FVIEW;
}
}最后,我们重写该属性:
protected override int FormAuthorityAll => this.FormAuthority;
权限管理系统表结构 | C/S轻量级开发框架 WinFrameworkV2.1|C/S开发框架
Demo演示版下载 | Winform C/S架构轻量级开发框架 WinFrameworkV2.1|C/S开发框架
WinFramework轻量级开发框架 | 煤矿智能化综合防尘监测监控系统平台|C/S开发框架
WinFramework轻量级开发框架 | 主从表窗体开发指南|详细二次开发|C/S开发框架
WinFramework轻量级开发框架 | 主从表窗体开发指南|采购订单|C/S开发框架
WinFramework轻量级开发框架 | 自动生成流水号码(单据号码)|C/S开发框架
WinFramework轻量级开发框架 | 单表数据窗体开发 | 界面二次开发|C/S开发框架
WinFramework轻量级开发框架 | 单表数据字典窗体开发指南|C/S开发框架
WinFramework轻量级开发框架 | 代码生成器参数设置|C/S开发框架
WinFramework轻量级开发框架 | 参数设置|C/S开发框架
WinFramework轻量级开发框架 | 代码生成器(CodeGenerator)简介|C/S开发框架
WinFramework轻量级开发框架 | 运行程序出现数据配置窗体|C/S开发框架
WinFramework轻量级开发框架 | 软件截图|C/S开发框架
WinFramework轻量级开发框架 | 新建Winform业务数据窗体|C/S开发框架
WinFramework轻量级开发框架 | Winform开发框架|模块功能窗体注册与配置|C/S开发框架
WinFramework轻量级开发框架 | 自定义窗体GridView表格样式布局|C/S开发框架
什么是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内容管理系统 |
在线客服
