Winform快速开发框架之权限系统设计(3) - 功能按钮权限控制基本原理

  Winform快速开发框架之权限系统设计(3) - 功能按钮权限控制基本原理

Winform快速开发框架之权限系统设计(3) - 功能按钮权限控制基本原理


权限系统实现原理


本文将描述基于功能按钮权限控制的基本实现原理,在学习权限系统实现原理之前,请先看下面的流程图:

贴图图片


【当前用户】:是指当前登录系统的用户(软件使用者)。

【点击菜单】:用户点击界面上面的菜单栏或左侧导航菜单。用户能查看或点击的菜单项代表当前用户拥有此菜单的权限。

【打开界面】:用户点击菜单执行事件并成功打开功能窗体,触发初始化界面(Form_Load)事件,开发框架底层将根据当前用户的权限进行按钮控制,有按钮权限则显示按钮,无权限的则不创建或隐藏按钮。

【按钮控制】:下面将重点讲解界面的按钮权限控制实现原理。


4.1 按钮权限控制基本原理

以数据字典窗体【员工管理】举例说明,假设【员工管理】拥有以下按钮及对应的权限值:

贴图图片


模拟场景:

用户【User-孙】属于【Role1】角色, 在【角色管理】界面内给【Role1】角色分配【员工管理】窗体的权限为:(1,2,4,8)=15,勾选【新增】、【删除】、【修改】、【查看】功能, 用户【User-孙】登录后取到【员工管理】窗体的权限值为1+2+4+8=15. 在打开【员工管理】窗体时, 框架底层对【员工管理】窗体的每个按钮分别与当前用户的权限值15进行逻辑【与】运算。

逻辑【与】运算结果如下:


贴图图片

在Form.Load事件内调用InitButtons方法,有权限的按钮则Button.Enable=True, 无权限的按钮则Button.Enable=False; 


4.2 逻辑“与”运算C#代码参考

相关C#代码参考:

贴图图片

ButtonAuthorized方法主要是进行逻辑“与”运算:

贴图图片


上一篇:Winform快速开发框架之权限系统设计(2) - 功能模块介绍



基于C/S结构快速开发框架之权限系统设计(1) - 基本概述




其他文档:


Winform开发框架 - 特殊权限控制(扩展权限和自定义按钮功能)



扩展按钮功能 - 扩展一个【复制单据】按钮操作详解




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


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

版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
发表评论

评论内容
昵称:
关联文章

Winform快速开发框架权限系统设计(3) - 功能按钮权限控制基本原理
Winform快速开发框架权限系统设计(1) - 基本概述
Winform界面权限控制原理|C/S框架
Winform快速开发框架权限系统设计(2) - 功能模块介绍
Winform界面的功能按钮同等权限控制|C/S框架
Winform通用框架(C#.NET)权限管理系统详细设计|C/S框架
Winform开发框架 - 特殊权限控制(扩展权限和自定义按钮功能)
C/S系统开发框架权限系统 - 功能按钮权限值 - ButtonAuthority类详解
C/S框架后台数据更新模型ORM自动生成SQL基本原理
C/S开发框架权限扩展与定制按钮功能详细设计
Winform软件快速开发平台 - 关于数据权限,表格列权限控制两种解决方案
C#权限管理框架介绍|商业开源C/S系统快速开发框架权限系统设计
基于集团组织架构数据权限系统快速开发框架(C#.NET Winform+支持多数据库)
组织机构上下级同级用户以及数据权限控制|C/S框架
C/S开发框架权限控制按钮级别的吗?
C/S系统开发框架权限系统 - 数据窗体权限值 - AuthorityCategory类详解
企业级数据权限框架 - 集团组织架构数据权限开发框架(C/S+Winform+DevExpress)
C# Winform软件快速开发框架|软件开发平台 - 界面多语言实现原理
SQL Server连接池基本原理
【原创】WebApi开发框架:Token生成、Token缓存原理、Token验证、令牌机制与原理