1、整体数字化建设项目通用权限管理系统组件使用说明书(下)开发单位:杭州海日涵科技开发部门:产品部编制日期:2012 年 05 月使用说明书模块名称:通用权限管理模块 模块编号:1项目负责人:吉日嘎拉 所属部门:产品部文档编制:陈波涛、陆云钢 编制日期:2009-01-14文档审核:袁华林 审核日期:2010-03-01文档批准:吉日嘎拉 批准日期:2011-03-11版 本 号:3.7 修 正 号:05修改记录日期 版本 修改说明 修改者2008-01-29 0.1 创建文档。 陈波涛2008-04-28 1.0 完善文字描述。 陆云钢2008-05-14 1.1 完善图标格式等。 陆云钢200
2、9-11-11 2.0更新功能界面图片,添加图片名称,调整文档顺序,编写新增功能页面文档(申请帐户、只显示有效、基础编码管理和修改密码) 。狄永2010-04-01 3.0 安装方法等进行补充完善。 吉日嘎拉2010-05-08 3.0 重新抓图、文字校对 吉日嘎拉2010-06-03 3.1 修改文档中 35 处错误 梁帮友2010-10-22 3.2 重新排版、文字校对 段飞2011-03-11 3.3 更新说明书抓图更新 吉日嘎拉2011-04-19 3.5 更新说明书抓图更新,新增功能补充 余东升2011-05-25 3.6更新操作角色数据集权限,更新角色用户关联的复制用户和粘贴用户
3、宋知会2011-05-28 3.6 更新说明书抓图更新 宋知会2011-10-25 3.6 更新系统框架层文字说明及图解 余东升2012-04-21 3.7更新说明书抓图、更新文字说明及图解陈清晖目录13. 操作权限项定义管理 .714. 用户权限管理 .1215. 序号(流水号)管理 .1816. 关于本软件 .2317. 修改密码 .2718. 重新登录 .3019. 锁屏 .3320. 参数服务 .3521. 权限基本设计理念 .3622. 多系统权限集中配置管理 3923. 系统权限批量设置 .4224. 实现基于组织机构的数据集权限 4725. C/S 组件模式运行用例 5426.
4、B/S 组件模式运行用例 5827. 多语言支持 .5928. 代码生成器 .6528.1. 创建数据库 PDM 模型 6728.2. 代码批量生成 6728.3. 部署所生成代码 6928.4. 菜单调整设置 7128.5. 二次开发 7429. 典型业务案例应用 .7629.1. 文档管理 7629.2. 名片管理 7730. 开发登录功能过程分析 .8130.1. 系统登录功能的分工 8130.1.1. 市场营销人员 .8530.1.2. 决策老板 .8530.1.3. 项目经理 .8530.1.4. 系统架构师 .8530.1.5. 美工设计人员 .8630.1.6. 程序员 .863
5、0.1.7. 质量保障员 .8630.1.8. 测试人员 .8730.1.9. 文档管理员 .8730.1.10. 客户经理 .8730.1.11. 实施工程师 .8730.2. 注意事项建议 8830.2.1. 分工明确原则 .8830.2.2. 沟通效率问题 .8830.2.3. 决策效率问题 .8830.2.4. 工作量问题 .8930.2.5. 产品质量问题 .8930.2.6. 人员变动问题 .8930.2.7. 绩效考核问题 .9030.2.8. 工作成果问题 .9030.3. 通过实现登录窗体的反思 9031. 客户经常需要的开发技能 9231.1. 打印功能 9231.2. 编
6、号产生功能 9231.3. 查询功能 9331.4. 大数据量快速分页功能 9331.5. 能快速便捷输入数据功能 9331.6. 模块(菜单)可以灵活配置 .9331.7. 数据导入导出功能 9431.8. 第三方接口程序 9431.9. 图表统计 9431.10. 程序需要经得起折腾 9431.11. 导入原有系统的数据 9531.12. 数据导入导出功能 9531.13. 漂亮的界面 9532. GPM 高级教程 .9632.1. 集成公司内部的多个子系统(兼容 B/S 和 C/S) ,实现单点登录功能的多系统的统一入口功能 9632.2. 通用权限管理系统组件 (GPM - Gener
7、al Permissions Manager) 中实现文件发送接收功能,附源码 10432.3. 通用权限管理系统组件 (GPM - General Permissions Manager) 中实现大数据的高效分页显示 10932.4. 通用权限管理系统组件 (GPM - General Permissions Manager) 中实现岗位的维护11132.5. 通用权限管理系统组件 (GPM - General Permissions Manager) 中实现按部门组织机构设置权限 11432.6. 通用权限管理系统组件 (GPM - General Permissions Manager)
8、 不需要任何配置文件,程序都可以正常运行 11632.7. 通用权限管理系统组件 (GPM - General Permissions Manager) 中简易员工档案管理模块参考 12632.8. 通用权限管理系统组件 (GPM - General Permissions Manager) 给信息管理系统加一个初始化的功能,调用存储过程 .13432.9. 通用权限管理系统组件 (GPM - General Permissions Manager) 中后一个登录的把前一个登录的踢掉功能的实现 .14432.10. 通用权限管理系统组件 (GPM - General Permissions M
9、anager) 中增强的系统安全(防暴力破解) 16132.11. 通用权限管理系统组件 (GPM - General Permissions Manager) 中集成多系统的统一登录(数据库源码级)附源码 16432.12. 通用权限管理系统组件 (GPM - General Permissions Manager) 中集成多个子系统的单点登录(网站入口方式)附源码 16632.13. 通用权限管理系统组件 (GPM - General Permissions Manager) 中实现统一身份认证(Single Sign On,单点登录)附源码 .17532.14. 通用权限管理系统组件 (
10、GPM - General Permissions Manager) 中实现数据列的权限,附源码 18232.15. 通用权限管理系统送国家软件评测中心进行应用安全三级认证的经验分享 .19332.16. C# winform 窗体接收命令行参数自动登录进行系统,模拟 600 个 WCF 客户端的并发压力测试 19532.17. 半天打造小型万能 OA 办公系统, 靠的就是万能表单提交 + 轻量级工作流审批组件 20513. 操作权限项定义管理操作权限项定义管理模块是本系统的核心模块,在此模块里进行操作权限的定义、配置、分类、管理等维护工作,可以在本模块进行操作权限添加、修改、删除、拖动、停用
11、操作权限等功能,进入本模块的菜单如下图12-1所示。图12-1 权限项管理图12-2 操作权限项定义管理界面图12-3 添加操作权限窗体如图12-2所示,可以在操作权限项定义管理界面中集中管理操作权限,只有系统管理员能有相应的操作权限,操作权限的编号不能重复,在整个系统里需要有唯一性,名称可以重复,操作权限可以任意分类,支持自由拖动整理。在前期设计和开发设计阶段,往往权限设计反复推敲、推倒、重新设计、昨天刚设置了某一权限、今天又觉得不合理,应该推倒,后天又觉得应该与哪个权限合并才对,没过几天又觉得这个权限又有必要分开来才对,经过反复的不断推倒从来,经过反复重新设计整理推敲过程,才能最终形成比较
12、合理的权限管理方案,这个反复折腾的过程要求权限规划管理模块要有非常灵活的操作性,能经得起客户的反反复复,快速有效的适应客户的整体调整才可以,此权限管理也是经历了多个实际项目的多次实践和不断完善总结出来的结晶部分。数据列的访问权限,其实也是属于一种特殊的操作权限,也是属于操作权限的一种范畴,例如一个权限就叫“访问A表的C1列权限、访问A表的C2列权限”就可以了,没必要设计得过于复杂,例如建立一个“拒绝访问A表”的权限,谁拥有这个权限,就不允许访问A表就可以了。数据集权限是表示拥有某个权限,但是这个权限需要区分数据的作用范围,虽然这个帐号有管理权限但是只能管理A、B部门的数据,不能管理C、D部门的
13、数据等,本系统的数据集权限,主要是用组织机构数据进行过滤,提供多种可二次开发的接口功能,达到按客户的实际情况进行个性化的数据过滤的要求,并不是所有的权限都能设置数据集权限,只有这个权限被设定为是数据集权限,才可以设置相应的过滤条件,数据集权限设置参考下图12-4。图12-4角色数据集权限范围设置数据集权限设置,如图12-5所示。图12-5 操作数据集权限设置效果图图12-5 操作权限关联模块(菜单)窗体操作权限关联模块(菜单)的主要用途是:当前的用户已经拥有了某个权限,那么这个权限的用户又允许访问那些菜单模块呢?是否可以自动进行关联关系设置,不需要重复进行模块访问权限?主要是为了解决以上的智能
14、关联问题,将权限与模块进行了关联设置。操作权限于模块(菜单)之间设置了关联关系,就表示有了某个操作权限后,自然可以访问某些菜单模块了,不需要进行单独的模块访菜单的访问权限了,这样可以提高整个系统的智能逻辑关联关系,使得分配权限更加合理、简洁高效。14. 用户权限管理图13-1 用户权限管理每天都在发生变化、随着公司内部人员的变动,系统中的用户的角色、权限经常也会发生变化,这时候需要有一个灵活的权限设置功能,可以快速便捷的进行权限的重新划分,权限的重新设置分配等。往往开发系统,在上线前就应该做好帐户数据的整理、权限的规划、角色的定位,每个帐户到底应该有什么权限、到底能访问那些系统资源、到底能做哪
15、些操作,都应该进行详细的规划,在系统实施、测试过程中就应该完成这些正式上线前的准备工作,若一个单位有几百个人,一个系统有几十个模块,这个工作也应该明确指派给一个人来负责比较好,由这个人统一负责规划、设置权限,这样会有一个整体统一的规划。有个稳定的权限配置工具,在项目开始阶段,就可以安排一个人来负责把客户的组织机构数据、用户数据、权限划分,菜单的规划等等,都同步做好,这样可以明显提高并发工作能力,可以精力集中解决业务系统问题上,有效利用有限的人力资源,同时系统的功能模块,又需要依赖一些基础性的测试数据,这样整个开发、实施工作可以同时进行,又在开发前已经把基础数据都准备好,对接下来的开发工作还是很
16、有帮助的。同时有个稳定的管理工具,不会在这么基础性的东西上反复浪费时间,能提高工作效率,而且客户从项目的一开始就看到了有一些实质性的进展,也会放心一些,也可以明显减少在项目刚开始开发,就进入了高强度的劳动状态,需要处理的事情很繁琐,开发人员更容易提前进入疲劳期,项目失败的概率也高了很多。图13-2 用户权限管理界面图13-3 用户数据集权限范围设置窗体我们可以在这里设置一些用户的权限,甚至可以设置用户可以管理到具体的部门的具体的人。如下图13-4所示:图13-4 用户数据集权限范围具体设置窗体图13-5 超级管理员数据集权限范围具体设置窗体图13-6 点选了某个用户后点“权限”按钮后弹出的权限
17、配置页面效果图15. 序号(流水号)管理序号(流水号)管理菜单如下图,主要起多种数据库的兼容性主键生成、数据表的排序字段的生成、单据流水号生成功能等。本系统的多数据库支持功能,主要是依靠了底层的序号生成器的兼容性主键思想来实现的,例如不同数据库的有不同的主键生成思想,例如Oracle数据库用序号功能产生主键的较多、SQLServer数据库用自增量作为主键的产生方法较多,但是这些方法都有一定的局限性、若遇到数据库移植问题,需要修改很多代码才能达到目的。用了序号(流水号)管理组件,就可以很轻松的做出多种数据库兼容的主键产生方法、这样有数据库移植问题时,代码的修改量会很少,甚至有可能是是没有代码修改
18、量。其中单据流水号生成功能,支持灵活的二次开发接口,可以按某天、某月、某年,自动生成某个单据号的生成方法,也能支持并发请求下产生唯一单据号的功能,例如年月日_001、年月_001、年_001等等形式的单据号形成。图14-1 序号(流水号)管理菜单图14-2 序号(流水号)管理界面图14-3 编辑序号(流水号)管理窗体可以在序号(流水号)管理窗体中,人工干预当前的某个单据序号,可以删除某个序号、修改某个序号,并支持导出数据处理。重置功能是为了在将开发测试阶段产生的订单号清除掉,方便重新开始生成订单号为目的设计的。增序号、减序号,还是为产生排序码设计的,分别对应最大的排序码、最小的排序码,为了快速
19、实现把数据排序到最前面,或者把数据排序到最后面时用了这个2个数据值。其实本功能模块的用法,很接近Oralce数据库中的序号功能,只是提供了更加便捷的用C#可以直接调用的功能接口。16. 关于本软件本功能主要是为了显示软件的版权信息内容,例如软件名称、版本号等信息。这些版权信息可以在相应的配置文件、源代码中进行配置修改;现有功能可作为开发者的参考,进行简单的修改达到重复利用的目的。图15-1 关于本软件菜单图15-2 软件版权信息版权页面上点任意鼠标键就可以退出页面返回信息管理系统主页,此页面也可以起到客户了解管理信息系统的当前版本号,向开发公司、开发者反馈意见、建议时的重要的参考信息之一。图1
20、5-3 在线手册在线手册可以为用户提供最新版本的用户手册。图15-4 检查更新检查更新菜单可以实现即时检查软件最新版本并进行升级。17. 修改密码修改密码模块主要是对用户密码进行修改操作,在修改密码界面必须输入原密码、新设置的密码后按确定即可完成对密码的修改,若原密码输入错误将无法进行新密码的设置工作,这也是为了防止盗取不在操作岗位上的员帐号的密码的一种保护措施。新密码需要确认主要是为了防止用户输入错误导致不能正确确认自己的密码,重复输入两次新密码就是为了让用户确认,减少用户遗忘密码的概率图16-1 修改密码菜单图16-2 修改密码窗体若系统允许设置空密码(在系统配置中不设置密码强度检查)、那
21、新密码、确认密码可以不输入,只输入原密码将新密码设置为空,直接按确认就可以了。系统配置为不允许空密码、那原密码、新密码、确认密码都是必输入项目,会有红色 *标识。 图16-3 修改密码窗体系统配置为不允许空密码、登录系统时密码也是必须输入的,会有红色 * 标识,如下图。图16-4 登录窗体18. 重新登录特别是在软件系统开发、测试过程中经常需要在几个帐户之间快速切换,若每次都退出系统重新登录效率低、操作的步骤也多、不连贯。图17-1 重新登录重新登录系统时,技术层面需要处理的事情主要有:用户的在线状态变化和用户的权限发生变化以及用户的菜单显示方式会变化,用户的即时信息收发情况会发生变化,取消登
22、录不应退出当前的信息管理系统应该返回原来操作员的操作界面。对比一下重新登录系统界面与登录系统界面,一个是“退出”一个是“取消”按钮,他们还是有比较大的区别的。图17-2 重新登录页面图17-3登录窗体点击菜单中的重新登录菜单项目,返回系统的登录界面,通过登录页面可以重新输入用户名,输入密码进行登录动作而不用退出当前的管理系统。若用户的权限设置发生过变化或操作员用户信息等发生变化后建议重新登录系统,重新登录时会默认显示当前的用户名,直接输入密码就可以重新登录操作。 19. 锁屏很多时候,用户往往把软件打开但突然有事不能继续使用,为了防止误操作,软件往往需要有锁屏功能。图18-1 锁屏点锁屏,会弹出如下图18-2的输入框。