Winform开发框架之权限管理系统功能介绍

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

权限管理系统的重要特性总结: 
1) 高度集成的权限系统、独立模块,能快速整合使用。
2) 符合权限的国际通用标准,基于RBAC(基于角色的访问控制)的角色权限控制。
3) 多数据库架构支持,内置支持SqlServer、Oracle、MySql、SQLite、Access数据库。
4) 用户管理基于分级管理理念,集团分子公司、事业单位处室/局级可独立管理人员/角色等数据。
5) 用户接入的各种应用系统,均可实现用户登陆日志、操作日志的记录。
6) 管理员可以控制登陆用户的黑白名单列表,实现严格的登陆控制管理。
7) 权限系统也是基于《Winform开发框架》的成熟架构,稳定高效、更易使用和理解。
8) 权限管理系统文档齐全、完善的应用支持和集成项目经验,开发项目更有保证

权限管理系统说明:
《Winform开发框架》、《WCF开发框架》和《混合式开发框架》三个框架是我们经过多年的项目积累,吸收众多框架产品客户的宝贵意见,反复提炼优化而成的。在这几款开发框架中,我都应用到了一个《通用的权限管理系统》(简称权限管理系统),这个作为一个独立的系统模块,但又可以整合到所有的框架产品和项目中,实现快速的权限管理和控制。
权限的分配和管理,基本上是每个业务系统需要考虑的东西,而这些常用的东西,在整个开发框架中,把它作为一个独立的模块,既方便维护管理,也留有接口很容易进行集成,这样能够在项目中反复进行使用。
权限管理系统主要的功能包括有:用户管理、组织机构管理、功能管理、角色管理和权限分配管理、菜单管理、系统类型管理、登录日志管理、操作日志管理、系统黑白名单管理等功能模块。对于每新增一个系统,我们只需要在权限管理系统中增加一个系统类型定义,以及相关的功能、菜单数据即可,非常方便管理。

一、用户管理

1、用户登陆

在权限管理系统登录界面输入账号和密码后(默认账号admin,密码为空),即可进入权限管理系统的主界面,权限管理系统主要的功能包括有:用户管理、组织机构管理、功能管理、角色管理和权限分配管理、菜单管理、系统类型管理、登录日志管理、操作日志管理、系统黑白名单管理等功能模块。

2、用户分级管理

权限管理系统的用户管理是基于分级管理理念,集团分子公司、事业单位处室/局级可独立管理人员/角色等信息。
系统分了两级管理员用户:超级管理员和公司管理员。超级管理员可以管理整个集团或者整个系统的人员和相关信息(包括组织机构、角色、登陆日志、操作日志等信息的分级);公司管理员可以管理分子公司、事业单位处室/局级这样的组织机构的人员和相关信息。
分级管理组织机构、角色、用户等相关数据,能够减少管理员的相关工作,提高工作效率,并能增强权限管理系统对权限的控制和资源分配等管理,提高用户的认同感。

3、新建/编辑用户

在系统用户信息模块里面,可以在组织机构树右键“新建”或者“新建”按钮上,触发弹出新建用户的操作,如下界面所示。
在新建用户的界面上,输入必须的用户名、真实姓名、所属公司、默认机构/部门等信息,其他信息可选输入。用户的所属机构、所属角色、可操作功能,在后面的介绍操作中进行分配管理,新建用户不需要管理这些信息。

在用户基本信息界面里面,用户“所属公司”,是一个下拉的树形列表,里面按照组织机构的分级进行展示公司信息,如下所示。

“默认机构/部门”是根据用户选择的“所属公司”进行过滤的,根据用户选择所属公司,列出该公司下的所有组织机构树形列表供选择,如下所示。

编辑用户界面和新建用户界面显示,在界面上显示已经录入的用户信息和用户的关系信息,包括所属机构、所属角色、可操作功能等。

4、用户导入

为了快速录入系统用户信息,权限管理系统提供Excel的数据批量导入操作,如下所示。

在用户管理列表的“导入”操作按钮中触发,弹出一个通用的Excel数据导入界面,里面指定了导入数据的“Excel模板”,用户根据模板字段列输入相关的信息,然后通过“浏览”按钮触发数据的显示,如果确认无误,即可进行“保存数据”的操作。

5、用户导出

权限系统的用户数据,也可以通过“导出”按钮进行用户数据的导出操作,如下所示。

6、用户查询

用户的查询,可以通过按组织机构查看、按角色查看和根据查询条件查询,前两者通过树形列表,方便用户快速查询用户,由于用户是分级管理,因此不同的公司管理员,看到的组织机构和角色数据有所不同,他们可以管理自己管辖内的用户数据。

1) 按组织机构查询

2) 按角色查询

3) 根据查询条件查询

二、组织机构管理

1、组织机构列表

权限管理系统中的组织机构列表,是一个层级的树形列表,基本的节点可以分为集团、公司、部门和工作组这几个级别,在组织机构树中选择机构后,界面中间及右边区域会显示详细的组织机构信息和相关数据。

2、新建/编辑组织机构

新建组织机构,可以在左边的树形列表上的右键菜单上操作,也可以在顶部的“添加”按钮上进行操作。新建组织机构信息,处在同一个界面里面,用户输入相关数据保存即可。

3、包含用户管理

组织机构可以通过“包含用户”的方式,把系统其他部门的用户纳入到该部门管理范畴中,这样,如果分配给该部门的权限,自动会授权给这些包含进来的用户,实现用户权限的累加管理。
 
单击“包含用户”界面的“添加”按钮,弹出一个“选择人员”的对话框,对话框界面里的用户数据是根据部门和角色进行分类的,用户可以在左边的树列表中快速查看指定范畴内的用户数据,右边的列表中有勾选项目,勾选后单击“添加选择”即可添加到底部的用户选择区域,也可以在选择区域里面删除指定用户选择,界面如下所示。

三、角色管理

角色是权限系统管理里面最为重要的部分,整个系统符合权限的国际通用标准,基于RBAC(基于角色的访问控制)的角色权限控制,这样和权限相关的信息,都是通过角色进行关联,因此角色还需要管理和用户之间的关系、和组织机构之间的关系、和可操作功能之间的关系等等。

1、角色基础信息管理

2、包含机构管理

3、包含用户管理

和组织机构包含用户功能一样,弹出选择用户对话框,选择对应的用户列表信息。

4、可操作功能

四、系统类型定义

系统类型定义,是用作区分一个业务应用系统的标识,权限系统支持多个业务应用系统的继承,虽然默认是一个,但是可以根据需要进行扩充,使得权限管理系统管理的范畴更大,实现所有业务系统共享一个权限管理系统的布局。

1、系统类型列表

2、新建/编辑系统类型

五、功能管理

功能管理,是业务应用系统的权限控制最小单元,可以用作控制系统的按钮、菜单等界面元素,也可以用作控制显示或隐藏的某些字段的操作。

1、功能列表

2、新建/编辑功能


为了方便一次性添加多个功能单元,可以通过“批量添加”操作进行功能的批量添加,批量添加界面如下所示。

3、可操作角色

六、菜单管理

1、菜单列表

一般Winform程序中,菜单都是直接写在主程序中的,这样对于经常性修改和维护菜单的相关信息,可能有所不便,而且对于插件化的系统应用,新增菜单是常见的事情,这样就需要对菜单进行动态配置管理了,通过后台菜单的配置和权限的指定,能够实现菜单的动态加载和权限验证。
因此菜单也是权限分配的一部分,为了有效管理菜单资源,我们把菜单放到权限管理系统中进行管理控制,可根据用户权限进行动态控制显示。

设定好菜单的图标和Winform窗体类型,就能在Winform框架中动态构建菜单信息了。菜单的图表放置在系统的相对目录下即可。

2、新建/编辑菜单

新建或者编辑的菜单界面如下所示,除了需要输入“显示名称”外,还需要选择“上级菜单”,如果菜单需要进行权限控制,那么在“功能控件ID”输入需要的控制键即可,如下红色框选部分。

菜单的“上级菜单”是一个下拉的树状列表,方便显示层次关系并进行选择。

七、系统黑白名单

在一般的权限系统里面,可能经常会看到系统的黑名单或者白名单的拦截功能。在一般 权限系统里面,常见的黑名单就是禁止用户在某些IP上登录系统,白名单就是允许用户只在某些IP上登录系统。本随笔主要介绍在我的权限系统里面,如何实现这个黑白名单的功能,以及介绍在其中应用到的IP对比操作,IP段判断等操作代码。

1、黑白名单列表

要完成黑名单的拦截和白名单的放行,我们需要进行名单的配置操作,我们把相关的配置放到列表里面进行展示,可以添加多个黑名单或者白名单,如下界面所示。

2、新建/编辑黑白名单

可以在黑白名单列表上单击“新建”按钮进行添加一条记录,或者在已有记录上双击黑白名单可以进行编辑,界面如下所示。

通过“添加用户”按钮,在弹出的选择人员界面中,指定黑白名单的人员列表即可。

3、系统登录拦截效果

八、用户登陆日志

1、登陆日志列表

九、用户操作日志

在很多业务系统里面,数据是很敏感的,特别对于一些增加、修改、删除等关键的操作,如果能在框架层面的支持基础上,以最少的代码实现重要表的日志记录,那么是一件非常值得庆贺的事情,也能够为我们客户的数据提供重要的日志跟踪,甚至是数据恢复的参考。
通过权限管理系统的支持和《Winform开发框架》的底层支持,业务系统模块,只需要通过一行代码就能实现业务表的日志记录,这对我们开发新的业务模块,效率可以提高很多,同时也能给客户提供更好的数据支持服务。通过在权限系统模块里面配置参数和显示操作日志记录,能够给业务开发提供基础性的开发框架支持。

1、用户操作日志列表

2、操作日志的参数设置

在操作日志的参数配置列表里面,我们可以添加一些业务表操作日志配置,然后通过在开发时刻,一行代码指定记录日志操作,即可实现操作日志的记录。

3、查看详细操作日志

1) 修改记录的操作日志

2) 增加记录的操作日志

十、系统集成管理

1、项目中集成权限系统登陆

实现代码就是调用该程序集的接口API启动权限系统的登陆界面,如下所示。

2、项目中集成权限控制

1)系统登陆及权限获取

2)项目权限控制

十一、提供基于多种数据库的整合

权限系统和其他框架一样,提供基于多种数据库(SqlServer/Oracle/MySql/SQLite/Access等数据库)的整合支持。虽然我们在实际项目中,一般采用一种数据库进行处理,但是不同的项目,采用的数据库类型可能不同,本Winform开发框架为了方便演示和扩展的需要,内置支持了SqlServer/Oracle/MySql/ SQLite /Access,更多的数据库,也可以通过扩展数据库访问基类的方式进行更多数据库的支持。

整个权限管理系统的数据库访问,能够手动配置数据库类型,对于同一种数据库,也可以把数据存储分开存储,如业务数据存储在一个数据库,权限管理控制存储在另外一个数据库这种方式。

本文转自博客园伍华聪的博客,原文链接:Winform开发框架之权限管理系统功能介绍,如需转载请自行联系原博主。



相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
4月前
|
移动开发 开发框架 前端开发
微信门户开发框架-使用指导说明书(2)--基于框架的开发过程
微信门户开发框架-使用指导说明书(2)--基于框架的开发过程
|
4月前
|
安全 Java 数据安全/隐私保护
构建高效网站后台:权限管理系统设计与实现
【7月更文挑战第5天】在现代Web应用开发中,权限管理是后台系统不可或缺的一部分,它确保了系统的安全性与用户数据的隐私。良好的权限管理系统能够精细控制不同用户角色对功能模块及数据资源的访问权限,从而提升系统的灵活性和安全性。本文将深入探讨权限管理的基本概念、设计思路,并通过一个简单的代码示例展示如何在Web后台中实现基本的权限控制逻辑。
299 2
|
存储 安全 数据安全/隐私保护
转:文档管理系统有哪些
你是否曾经在寻找关键文档时浪费了宝贵的时间?是否因为文档丢失或无法及时访问而感到困惑?文档管理系统,简称DMS,是一种专门设计用于帮助组织有效管理其文档和文件的软件工具。它可以将文件整理、存储、索引,以便轻松查找和共享。下面来看看有哪些好用的文档管理系统吧:
243 0
|
供应链 安全
开源进销存系统要具备哪些功能模块?
开源进销存系统主要包括采购、库存、销售和财务管理等环节。本文将介绍进销存应该具备哪些功能,以帮助企业更好地进行业务管理,更快的数字化转型。
201 0
开源进销存系统要具备哪些功能模块?
|
6月前
|
存储 监控 安全
【软件设计师备考 专题 】设计系统功能:安全性策略和工作流
【软件设计师备考 专题 】设计系统功能:安全性策略和工作流
141 0
|
存储 Ubuntu 网络协议
mineportal2:基于mailinbox,一个基本功能完备的整合个人件
本文关键字:mailserver backed new mineportal,邮箱附件外链,owncloud backend static web hosting,阿里云省事建站,如何借助mineportal低成本把虚拟空间+email玩成个人portal,one place webapps for personal use
233 0
mineportal2:基于mailinbox,一个基本功能完备的整合个人件
|
测试技术
第18章 系统功能设计
第III部分 项目综合实战 第18章 系统功能设计 18.1 系统整体功能结构 18.2 系统用例描述 18.3 主要功能流程描述
890 0
|
数据安全/隐私保护 开发框架 数据管理
|
数据库 数据安全/隐私保护 开发框架
下一篇
无影云桌面