企业级数据权限框架 - 集团组织架构数据权限开发框架(C/S+Winform+DevExpress)


  企业级数据权限框架 - 集团组织架构数据权限开发框架(C/S+Winform+DevExpress)
企业级数据权限框架 - 集团组织架构数据权限开发框架(C/S+Winform+DevExpress)


企业级数据权限框架 - 集团组织架构数据权限开发框架


一般型企业的软件权限设计,主要体现在功能权限和数据权限。功能权限是指用户登录后,能看到哪些菜单,能打开那些窗体,能操作哪些按钮,能执行哪些操作的权限。而数据权限主要体现在当前用户能查看什么数据,通过查询条件筛选和过滤数据(最简单的数据权限控制)。

基于大型集团企业的软件系统开发,集团组织架构设计、集团数据权限作为软件系统的核心功能组成部分,下面将详细介绍CSFrameworkV5.1旗舰版快速开发框架提供的企业级数据权限设计。



一、集团企业组织架构介绍


组织架构(Organizational Structure)是指一个组织整体的结构。是在企业管理要求、管控定位、管理模式及业务特征等多因素影响下,在企业内部组织资源、搭建流程、开展业务、落实管理的基本要素。

组织架构是指企业按照国家有关法律法规、股东(大)会决议、企业章程,结合本企业实际,明确董事会、监事会、经理层和企业内部各层级机构设置、职责权限、人员编制、工作程序和相关要求的制度安排。



集团组织架构图(参考1)

图1:
贴图图片-组织架构



集团企业组织架构图(参考2)


图2:

贴图图片-组织架构1





CSFrameworkV5.1旗舰版提供的集团企业组织架构(部门)资料管理与维护界面:


图3:

贴图图片-组织架构2



CSFrameworkV5.1旗舰版提供的集团企业组织架构数据权限管理界面


图4:

贴图图片-集团组织架构2(1)



二、集团企业组织架构数据权限框架内容介绍



CSFrameworkV5.1旗舰版提供集团组织架构数据权限管理系统,该系统由以下三个部分组成:


2.1  集团组织架构基础资料管理与维护(参考图3)

主要是用于集团组织架构基础资料的管理与维护,包括增、删、改、查维护部门资料。


2.2  集团组织架构数据权限分配(参考图4)

包括集团组织架构管理、分配部门人员、分配数据权限。

数据权限分配是指特定部门(人)能查看某些特定的数据。


2.3  集团组织架构数据权限应用

数据权限应用是指前端界面与后端数据处理的逻辑控制,开发框架提供两种数据权限控制机制:


2.3.1 按制单人过滤数据


SQL查询条件:


SQL Code:

SELECT * FROM 生产计划表 WHERE 制单人 IN ('USER1','USER2','USER3','USER..n')




实现逻辑:

a) 根据特殊角色获取当前登录用户能查看数据的用户列表,参考:usp_GetChildUser。

b) 前端界面的查询条件提供复合勾选用户组件,勾选的用户编号组合字符串:U1,U2,U99。

c) 根据制单人字段(如:CreatedBy)匹配用户,参考存过:usp_PO_Search。


参考:组织机构特殊权限(特殊角色)- 控制用户查看同级或子级的单据数据




2.3.2 按部门组织架构过滤数据


SQL查询条件:


C# Code:

SELECT * FROM 生产计划表 WHERE 组织架构部门 IN ('部门1','部门2','部门3','部门..n')





实现逻辑:

a) 若当前登录用户是(G1,G2)部门经理/主管,则能查看G1/G2部门及所有子级部门的数据。

b) 若当前登录用户非部门主管,仅能查看自己或当前部门的数据。

c) 判断资料表Org2字段的值是否(G1,G2)或(G1,G2)的子级。


SQL查询:

SQL Code:

SELECT * FROM 生产计划表 WHERE Org2 IN ('G1','G2','G3','Gn')





2.4  集团组织架构数据权限匹配模式(系统参数:DataPermission


开发框架提供3种数据权限匹配模式:

制单人匹配: WHERE CreatedBy IN (a,b,c,d,....)

部门架构匹配: WHERE Org2 IN (g1,g2,g3,g4,....)

全部匹配: 组合以上两者筛选条件。


参考系统数据库sys_SystemSettings表,ParamCode=DataPermission记录。


2.5 导入系统参数:DataPermission,数据权限匹配模式


可通过以下脚本导入DataPermission记录:

SQL Code:

INSERT INTO sys_SystemSettings(
  RowID,ParamType,ParamCode,ParamName,ParamDataType,ParamValue,ParamList,Description)
  
SELECT
  
NEWID(),
  
'System',
  
'DataPermission',
  
'数据权限匹配模式',
  
'文本',
  
'全部匹配',
  
'制单人匹配;部门架构匹配;全部匹配',
  
'数据权限提供3个选项:制单人匹配;部门架构匹配;全部匹配'
  
  
//来源:C/S框架网 | www.csframework.com | QQ:23404761








三、企业级数据权限框架设计


3.1 CSFrameworkV5.1 程序修改部分

1. 系统数据库CSFrameworkV5_System增加sys_DataPermission表, 存储数据权限字段配置。

2. 系统数据库tb_MyUser用户表增加Org1/Org2字段,分别对应部门1(基地部门)/当前部门;

3. 数据权限演示功能tb_PO主表增加Org1/Org2字段,分别对应部门1(基地部门)/当前部门;

4. BLL层的NewBusiness方法,默认给Org1/Org2赋值;

5. 部门属性表tb_CustomerAttribute增加一个Base类型,用于区别基地组织架构。

6. CSFrameworkV5.Core.Loginer对象,增加Org1/Org2属性,存储当前用户默认所在职能部门;

7. CSFrameworkV5.Core.SystemSettings类,增加一个属性:DataPermission 参数。

8. 系统数据库sys_SystemSettings表,增加数据权限参数设置。

3.2 增加以下存储过程或函数:

1. usp_DeleteGroupUser

2. usp_GetGroupUsers4TreeList

3. usp_GetDataPermissionConfigByGroup

4. usp_GetDataPermissionConfigByUser

5. usp_GetMyGroups4Picker

6. ufn_GetSystemSettings

3.3 修改以下存储过程或函数:

1. usp_PO_Search <采购订单>查询功能的存储过程。

2. usp_GetChildUser <获取当前用户能查看的用户列表>


3.4 数据权限几个核心存储过程或函数:

1. ufn_IsOwner <判断当前登录用户是否指定用户的上级>

2. ufn_GetChildGroups <获取当前部门的所有子级部门,包括自己>

3. ufn_GetParentGroups <获取当前部门的所有上级部门,包括自己>

4. ufn_HasRole <判断用户使用拥有指定的角色权限>

5. usp_GetChildUser <获取当前用户能查看的用户列表>

6. usp_GetGroupUsers4TreeList <用于组织架构权限分配界面,初始化TreeList>

7. usp_GetDataPermissionConfigByGroup <获取部门的数据权限配置信息,包括子级部门>

8. usp_GetDataPermissionConfigByUser <获取用户的数据权限配置信息>

9. usp_GetMyGroups4Picker <获取当前用户所在的组织架构,包括父级部门、子级部门>


注:MSSQL、MySQL数据库已同步更新。





四、企业级数据权限框架界面截图


4.1 数据权限配置界面


贴图图片-集团组织架构权限5



4.2 数据权限配置界面功能菜单


贴图图片-集团组织架构权限6



4.3 部门(组织架构)的数据权限配置:


贴图图片-集团组织架构权限3



4.4 用户的数据权限配置:



贴图图片-集团组织架构权限4



4.5 设置为部门负责人



贴图图片-集团组织架构权限8



4.6 添加、修改组织机构详情


贴图图片-集团组织架构权限93


4.7 批量设置组织机构的用户



贴图图片-集团组织架构权限92





五、企业级数据权限框架Winform界面(前端界面)应用场景


5.1 查询条件,查询指定的制单人


存储过程:usp_GetChildUser <获取当前用户能查看的用户列表>


运行ClientDemo演示程序,打开【采购模块】 --> 【采购订单】,查询条件:

贴图图片-集团组织架构权限





5.2 查询条件,查询组织架构


存储过程:usp_GetMyGroups4Picker <获取当前用户所在的组织架构,包括父级部门、子级部门>


运行ClientDemo演示程序,打开【采购模块】 --> 【采购订单】,查询条件:

贴图图片-集团组织架构权限1



5.3 给登录用户设置默认的职能部门


打开【系统管理】 --> 【用户管理】,选择一个用户,点【修改】按钮:


贴图图片-集团组织架构权限7




5.4 设置用户为部门负责人(主管\经理, 副主管\经理


打开【系统管理】 --> 【数据权限】,选择一个用户,点鼠标右键,【设置为负责人】:




贴图图片-集团组织架构权限8




设置为部门负责人(主管\经理, 副主管\经理)方式2:


打开【系统管理】 --> 【组织机构管理】,选择一个部门,点【修改】按钮:


贴图图片-集团组织架构权限91




5.5 批量设置部门的用户


打开【系统管理】 --> 【数据权限】,选择一个部门,点鼠标右键,【选择/添加员工】:



贴图图片-集团组织架构权限9






5.6 数据权限匹配模式参数设置


打开系统数据库sys_SystemSettings表,增加数据权限参数设置:


打开【系统管理】 --> 【系统参数】:


贴图图片-集团组织架构权限2



文档版本:企业级数据权限框架 v1.0

最后更新:2021-08-07 , 欢迎测评找bug,并提供建议。



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






C/S架构软件快速开发平台-旗舰版V5.1 (Ultimate Edition 2021)

适用开发 适用开发:企业级ERP、MES、MRP、HIS、WMS、TMS、CRM、MIS、POS等数据管理系统
运行平台 运行平台:Windows (Winform) + .NET Framework 4.5
开发工具 开发工具:Visual Studio 2017+,C#语言
数据库 多数据库:MsSQL 2008R2 / MySql5.7.34 / Oracle 11g


C/S架构软件快速开发平台旗舰版v5.1|C#.NET开发平台|Winform开发框架|C/S框架网


 产品介绍

    C/S架构软件快速开发平台助力开发团队快速搭建自己的软件项目,旗舰版提供强大的底层开发架构及快速开发工具-Winform三层架构代码生成器v5.1,旗舰版集成大量应用于大型系统的通用功能模块、数据界面及通用权限管理系统,提供丰富的实例开发模板、开发文档、线上技术指导服务,助力您快速搭建软件项目。

   C/S架构开发框架系列产品已成功应用500多家企业、4000多位软件用户,其中包括国内知名软件公司、国有企业、研发机构及上市公司(优秀企业选择了我们的产品-成功案例)。经过十年迭代升级,最新旗舰版V5.1,基础架构更成熟、应用更广泛、性能更稳定、开发效率更高!

    开发框架配套的核心工具 - Winform三层架构代码生成器能快速生成界面(FORM)、业务层(BLL)、数据层(DAL)、模型(Model)、报表(Report)以及VS工程项目(Project)的源代码,快速提升开发效率,节约开发时间,降低项目成本,根据多个项目统计,开发框架能为您减少60%以上的工作量。


 产品详情





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


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



版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
上一篇:基于集团组织架构数据权限系统快速开发框架(C#.NET Winform+支持多数据库)
下一篇:软件开发人员开发技能要求 - Winform开发框架 - C/S结构开发框架
评论列表

发表评论

评论内容
昵称:
关联文章

企业数据权限框架 - 集团组织架构数据权限开发框架(C/S+Winform+DevExpress)
基于集团组织架构数据权限系统快速开发框架(C#.NET Winform+支持多数据库)
Winform企业WCF快速开发框架平台(C/S架构+WCF+DevExpress+SQL多数据库)
组织架构数据权限 - 实例源码 - C/S快速开发框架旗舰版V5
组织架构组织机构、部门管理及权限分配 - C/S架构快速开发框架
企业开发架构.NET快速开发框架-C/S框架
组织机构上下级同级用户以及数据权限控制|C/S框架
组织机构特殊权限数据权限 - 控制用户查看同级或子的单据数据
开发框架旗舰版V5支持制单人多选查询以及组织架构权限查询数据
C/S开发框架权限分层管理吗?
C/S架构管理系统框架|企业管理系统前端框架(C# Winform)
组织机构权限 - 实例源码 - C/S快速开发框架旗舰版V5
【原创】进销存软件开发模板基于C/S架构快速开发框架C#+Winform+DevExpress
DevExpress组件版本下载、安装与VS开发环境 - Winform C/S框架
C# Winform 进销存系统C/S架构开发框架已经形成
C/S架构Winform插件化框架Winform通用界面框架 - C#.NET
原创C/S架构开源软件 - C#.NET+Winform+Dev+SQL快速开发框架
进销存快速开发框架(Winform三层架构+DevExpress+SQL2008R2)
Winform界面权限控制原理|C/S框架
C#权限管理框架介绍|商业开源C/S系统快速开发框架权限系统设计

热门标签
.NET5 .NET6 .NET7 APP Auth-软件授权注册系统 Axios B/S B/S开发框架 Bug Bug记录 C#加密解密 C#源码 C/S CHATGPT CMS系统 CodeGenerator CSFramework.DB CSFramework.EF CSFrameworkV1学习版 CSFrameworkV2标准版 CSFrameworkV3高级版 CSFrameworkV4企业版 CSFrameworkV5旗舰版 CSFrameworkV6.0 DAL数据访问层 Database datalock DbFramework Demo教学 Demo下载 DevExpress教程 DOM EF框架 Element-UI EntityFramework ERP ES6 Excel FastReport GIT HR IDatabase IIS JavaScript LINQ MES MiniFramework MIS NavBarControl Node.JS NPM OMS ORM PaaS POS Promise API Redis SAP SEO SQL SQLConnector TMS系统 Token令牌 VS2022 VSCode VUE WCF WebApi WebApi NETCore WebApi框架 WEB开发框架 Windows服务 Winform 开发框架 Winform 开发平台 WinFramework Workflow工作流 Workflow流程引擎 版本区别 报表 踩坑日记 操作手册 代码生成器 迭代开发记录 基础资料窗体 架构设计 角色权限 开发sce 开发技巧 开发教程 开发框架 开发平台 开发指南 客户案例 快速搭站系统 快速开发平台 秘钥 密钥 权限设计 软件报价 软件测试报告 软件简介 软件开发框架 软件开发平台 软件开发文档 软件体系架构 软件下载 软著证书 三层架构 设计模式 生成代码 实用小技巧 收钱音箱 数据锁 数据同步 微信小程序 未解决问题 文档下载 喜鹊ERP 喜鹊软件 系统对接 详细设计说明书 行政区域数据库 需求分析 疑难杂症 蝇量级框架 蝇量框架 用户管理 用户开发手册 用户控件 在线支付 纸箱ERP 智能语音收款机 自定义窗体 自定义组件 自动升级程序