Winform开发框架之权限管理系统功能介绍
权限管理系统的重要特性总结:
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开发框架之权限管理系统功能介绍的更多相关文章
- Winform开发框架之权限管理系统改进的经验总结(2)-用户选择界面的设计
在上篇总结随笔<Winform开发框架之权限管理系统改进的经验总结(1)-TreeListLookupEdit控件的使用>介绍了权限管理模块的用户管理部分,其中主要介绍了其中的用户所属公司 ...
- Winform开发框架之权限管理系统的改进
权限管理系统,一直是很多Mis系统和一些常见的管理系统所需要的,所以一般可以作为独立的模块进行开发,需要的时候进行整合即可,不需要每次从头开发,除非特殊的系统需求.我在Winform开发框架介绍中的随 ...
- C#开发微信门户及应用(46)-基于Bootstrap的微信门户应用管理系统功能介绍
在前面介绍很多的微信框架,基本上都采用EasyUI的界面来搭建的微信框架,如随笔<C#开发微信门户及应用(8)-微信门户应用管理系统功能介绍>介绍的一样,不过随着微信的H5应用越来越多,因 ...
- Winform开发框架之权限管理系统改进的经验总结(4)-一行代码实现表操作日志记录
在前面介绍了几篇关于我的权限系统改进的一些经验总结,本篇继续这一系列主体,介绍如何一行代码实现重要表的操作日志记录.我们知道,在很多业务系统里面,数据是很敏感的,特别对于一些增加.修改.删除等关键的操 ...
- Winform开发框架之权限管理系统改进的经验总结(1)-TreeListLookupEdit控件的使用
最近一直在做一些技术性的研究和框架改进工作,博客也落下好几天没有更新了,也该是时候静下心来,总结这段时间的一些技术改进的经验了.和上一阶段的CRM系统开发和技术研究一样,我都喜欢在一个项目或者模块完成 ...
- Winform开发框架之附件管理应用
在很多常规的管理系统里面,都可能有附件管理的需求,在我做的一系列医疗行业的病人信息管理系统里面,都希望能很好的管理病人的相关资料,分门别类的进行存储,需要的时候可以预览查看,那么这个功能我们可以把它独 ...
- C#开发微信门户及应用(8)-微信门户应用管理系统功能介绍
最近对微信接口进行深入的研究,通过把底层接口一步步进行封装后,逐步升级到自动化配置.自动化应答,以及后台处理界面的优化和完善上,力求搭建一个较为完善.适用的微信门户应用管理系统. 微信门户应用管理系统 ...
- Winform开发框架之权限管理系统
本文章转载:http://www.cnblogs.com/wuhuacong/archive/2011/05/08/2040620.html 至此,权限管理模块介绍已经完毕,下面给出一个调用例子Dem ...
- Winform开发框架之字典管理模块的更新,附上最新2013年全国最新县及县以上行政区划代码sql脚本
在很多项目里面,字典管理是必备的项目模块,而这个又是比较通用的功能,因此可以单独做成一个通用字典管理,例如这个模块,可以通过集成的方式,使用在我的<Winform开发框架>.<WCF ...
随机推荐
- 【LeetCode】264. Ugly Number II
Ugly Number II Write a program to find the n-th ugly number. Ugly numbers are positive numbers whose ...
- 原创教程:SpagoBI4.2汉化及配置Mysql数据库教程
SpagoBI4.2汉化及配置Mysql数据库教程 商务智能套件SpagoBI提供一个基于J2EE的框架用于管理BI对象如报表.OLAP分析.仪表盘.记分卡以及数据挖掘模型等的开源BI产品.它提供的B ...
- A/B测试
昨天把前段时间开发的二胡调音器的应用发布到了亚马逊应用程序商店,看到了一个A/B测试的标签,了解一下A/B测试的工作原理. A/B测试是一种新兴的网页优化方法,可以用于增加转化率注册率等网页指标. 使 ...
- MYSQL校对规则
一.前言 有时候遇到这种情况,你用一个like语句查询,查到的结果中有一些并没有包含你查询的关键词的纪录:有时候遇到这种情况,你的数据库自作聪明的大小写不敏感,让你在更新时把大小写不同的两条记录都更新 ...
- struts2:非表单标签
非表单标签主要用于输出在Action中封装的信息,这在实际运用中是很常见的. 1. actionerror标签 <s:actionerror>标签主要用于输出错误信息到客户端,该标签将Ac ...
- 【NLP】word2vec
http://blog.csdn.net/mytestmy/article/details/26969149?utm_source=tuicool&utm_medium=referral
- Window中调试HBase问题小结
1.好久没用log4j了,转到logback好多年了,hbase程序运行时,报缺少log4j配置,那么,就转去logback吧(以下的XXX表示版本号). 原先lib包里面有log4j-XXX.jar ...
- c2ph
http://bolenot.ru/library/cmd/blcmdl1_c2ph.htm?-c2ph---Linux%E5%91%BD%E4%BB%A4--UNIX%E5%91%BD%E4%BB% ...
- LLVM
http://blog.csdn.net/snsn1984/article/details/41077763
- Linux Ubuntu搭建git服务器
1. 安装 openssh-server ,用于创建SSH服务. sudo apt-get install openssl-server 使用命令ps -e|grep ssh,查看ssh服务是否启动. ...