统一身份认证权限管理系统.doc
【精品文档】如有侵权,请联系网站删除,仅供学习与交流统一身份认证权限管理系统.精品文档.统一身份认证权限管理系统使用说明目录第1章 统一身份认证权限管理系统31.1 软件开发现状分析31.2 功能定位、建设目标31.3 系统优点41.4 系统架构大局观41.5物理结构图51.6逻辑结构图51.7 系统运行环境配置6第2章 登录后台管理系统102.1 请用"登录"不要"登陆"102.2 系统登录10第3章 用户(账户)管理113.1 申请用户(账户)123.2 用户(账户)审核143.3 用户(账户)管理163.4 分布式管理18第4章 组织机构(部门)管理254.1 大型业务系统264.2 中小型业务系统274.3 微型的业务系统284.4 内外部组织机构29第5章 角色(用户组)管理30第6章 职员(员工)管理346.1 职员(员工)管理346.2 职员(员工)的排序顺序346.3 职员(员工)与用户(账户)的关系356.4 职员(员工)导出数据366.5 职员(员工)离职处理37第7章 内部通讯录397.1 我的联系方式397.2 内部通讯录40第8章 即时通讯418.1 发送消息418.2 即时通讯43第9章 数据字典(选项)管理19.1 数据字典(选项)管理19.2 数据字典(选项)明细管理3第10章 系统日志管理410.1 用户(账户)访问情况510.2 按用户(账户)查询510.3 按模块(菜单)查询610.4 按日期查询7第11章 模块(菜单)管理1第12章 操作权限项管理1第13章 用户权限管理4第14章 序号(流水号)管理5第15章 系统异常情况记录7第16章 修改密码1第17章 重新登录1第18章 退出系统3第1章 统一身份认证权限管理系统本软件模块的严谨设计定位、精心编码实现、不断维护推广、持续优化改进,主要是 为了实现一个可以高度重复利用劳动成果的工具软件,并有偿提供给所需的人们,另想成 为国人值得骄傲的知名软件功能模块, 可供国内管理类开发人员在日常工作中进行灵活二 次开发利用的模块,开发管理类软件的必备工具之一,同时本软件的系统架构可供广大业 余兴趣爱好者模仿。 本系统模块能提高管理类软件系统的整体质量、提高模块与模块之间的兼容性、提高代码的重复利用率,能够使软件系统架构更加合理、质量更加过硬。从而使得劳动成果最 大程度上重复利用。 有错就修改,每天努力一点点,提高一点点,坚持不懈,不断努力每一天! 1.1 软件开发现状分析 新员工没人带,老员工忙着救项目、就算是有空老员工也有疲倦的时候,也有不愿意带 人的,也有不愿意把 简单的东西反反复复教人的,一年又一年,一批又一批人换来换去, 很有可能也懒的带。 有些人喜欢与别人交流,但是大部分 IT 软件开发人员习惯了与计算机沟通,很可能有些不适应与人沟通交流,或者忙着解决他在技术上遇到的难题等。 1.2 功能定位、建设目标 一) 实现简易的单点登录功能,用户只要记住一对用户名密码就可以: 随着信息化项目、数字化项目越来越多的被研发实施,需要记住的用户名密码变 得越来越多,随着公司业务规模的扩展、公司的发展壮大或者本身是一个大型的集团公 司,内部前后实施的信息化系统会越来越多,这时也需要记忆越来越多的用户名密码, 浙江杭州市通用权限系统而且后台的管理越来越变得复杂、甚至是变成累赘。 二) 多个管理系统可以用统一的一套后台管理工具进行管理: 管理人员、开发人员、测试人员、实施人员,反复要开发 N 多个大同小异的后台管理工具、开发、测试、修改错误、改进功能,没完没了,全国各地 N 多的公司,N多的开发人员,在这个没多大价值的事情上浪费了 N 多的精力,实施维护人员还要安装、实施、学习、维护 N 多个大同小异的后台管理工具,需要很高的学习与维护成本 三) 建立信息化数字化项目的数据中心,提高基础数据的重复利用率: 随着同一个公司内部实施的信息化系统数量的增加、遇到了将同样的基础数据录 入到 N 多个管理系统中的问题、设想一下,将一个用户信息录入到 10-20 个系统里,有 一个基础数据有变化,需要同时在 N 多个相应的系统里进行修正,这是一个很复杂且毫无意义的、毫无创新的重复工作。 四) 提高同一个公司内开发的多个软件项目的兼容性、可维护性: 有规模的软件公司内部大多是采用项目组的形式管理和开展日常开发工作;但是 由于沟通能力、沟通技巧、沟通效率、项目时间紧等各种复杂的原因,最终会导致各个 项目组之间的分工、沟通、交流不充分,各个项目组之间开发出来的管理系统都不能互 相兼容,功能模块都存在重复建设、分工不明确、职责不明确等问题。 1.3 系统优点 一)经过多年的实践不断优化、精心维护、运行稳定、功能完善: 能经得起不同实施策略下客户的折腾,能满足各种情况下客户的复杂需求。 二)编码实现简单易懂、符合设计模式等理念: 上手快,见效快、方便维护,能控制软件项目后期维护风险。 三)有严谨的分层理念、完全符合主流的 SOA 理念架构:程序可以采用不同的实施策略、架构需求,方便维护、方便扩展。四)符合 RBAC 的权限理念、同时也能满足国内小型软件项目的灵活性需求: 不仅符合国际通用标准,又能满足国内的小型软件项目的灵活设置需求。 五)不仅支持多数据库也支持多种开发语言、多语言界面: 支持 B/S、C/S 系统,可以支持 Java 语言开发项目的接口功能,SQLServer、Oracle 数据库1.4 系统架构大局观 1.5物理结构图1.6逻辑结构图:1.7 系统运行环境配置 一)管理端: 本系统以微软的 C#.NET 编程语言开发设计,所以需要在微软的网站下下载最新的.NET Framework 运行环境,管理程序需要运行在 Windows 操作系统上。下载微软的.NET Framework 运行环境请连接下面的网址 二)后台数据库: 本系统支持多种数据库系统,例如 SQLServer、Oracle、MySql,可以按用户的使用 习惯,任意选择其中一种数据库系统。目前提供 SQLServer 版本的数据库,其他版本的数据库需要用户自己通过导入导 出脚本语言的方式进行处理。 1.11 软件安装、配置、运行方法 一)软件安装: 由于本系统都是针对软件技术开发者,所以没有做成安装包的方式发行,提供源 码 + 二次开发调用的 API,动态连接库等方式,只要把数据库附加上去,修改好配置文件即可。 二)配置: 源码文件的文档目录结构如下图,主项目为 DotNet.WinForm, 请在解决方案中将 DotNet.WinForm 项目设置为启动项目。 配置文件的为 Config.xml,设置配置项为 UserCenterConnection,单机版参考配置如下。 <add key="UserCenterConnection" value="Data Source=JIRIGALA-PCSQLEXPRESS;Initial Catalog=UserCenter;Integrated Security=SSPI;" /> 配置文件中附有其他类型数据库的连接串的参考配置。 三运行方法:双击可执行主程序 DotNet.WinForm.exe;若数据库连接配置正确,会出现如下登 录界面,如下图。 双击可执行主程序DotNet.WinForm.exe;若数据库连接配置正确,会出现如下登录界面,如下图。默认情况下,超级管理员的密码为空,点击登录进入后台管理软件。正确登录后 会在操作系统的任务栏右下角区域会出现小太阳的图标 为后台管理程序。 鼠标右键单击黄色小图标, 出现软件主菜单, 根据需求选择自己需要的功能, 如用户 (账户)管理功能等等。如图下图。 第2章 登录后台管理系统 很早的时候曾听别人说,印度软件公司中有些软件开发人员可能一直负责开发系统登录功能,当时觉得不就是一个登录系统的功能嘛?把用户名、密码输入好后按一下 登录按钮不就可以了?哪里有什么那么多好做的功能?后来随着对管理软件的深入理 解、接触过很多客户后才真正体会到,真正做好一个登录窗体也的确不是那么容易的事情, 一个软件的质量是否好?设计开发者是否想得足够周到?行家从登录窗体上也能知道个一二。例如有多个系统,这些系统是否支持单点登录?只用一套用户名密码可以登录多个系统?系统登录是否可以进行灵活配置?离职人员的处理、 临时授权用户的登录系统问题、一个职员的多个系统账户功能、系统账户的密码策略等等、输入错误密码时的登录限制等等都能体现出设计、开发人员的水平。 2.1 请用"登录"不要"登陆" 登录系统大家经常犯的一个错误是写成 "登陆系统"曾经向资深人士咨询过此事,都觉得写成"登录系统"才是正确的,所以建议大家用正确的写法"登录系统" 。而不是打仗时军队登陆岛屿,很多人会忽视这个用词、有些细节的确是应该注意的,有错就改、马上就改。 2.2 系统登录 用户登录系统后,不管是什么账户什么时候登录系统,都应该记录登录日志,就像平时管理严格的单位一样,有前台记录外来人员、出入门需要刷门禁系统一样,系统 登录成功后应该更改账户的在线状态,若登录失败的,都应该记录失败日志。输入的密码长度、允许输入错误密码的次数都应该进行限制, 防止破坏分子用暴力方式猜测密码,需要对暴力猜测密码等行为设置障碍,防止入侵系统行为发生。 第3章 用户(账户)管理 用户(账户)管理模块主要由申请用户(账户) 用户(账户)审核、用户(账户) 、编辑、创建用户(账户) 、设置用户(账户)密码、设置用户(账户)有效状态、删除 用户(账户)等等功能部分组成。 创建新用户(账户)可以由普通用户申请创建后由系统管理审核生效,也可以由系统管理员直接创建用户(账户) ,多种创建用户(账户)的方法可以减少系统管理员的工作量、可以更及时、准确的创建账户,将工作量分摊到多个操作人员、管理员上,可明显提高工作效率。通常情况下,新同事的用户(账户) 都由系统管理员进行录入创建生效,但是在,一个大集团公司中有多个分公司的情况下或有异地办公机构时都由一个系统管理员录入账号不只是效率高低的问题,由于没在现场工作出错的概率很高,若可以在任何分公司在任何一台电脑上进行申请用户(账户)功能、甚至是直接在网上进行申请用户(账户)步骤,相对来讲比单一系统管理直接创建用户(账户)的做法工作效率会高一些,自己录入自己的账户信息或者由身边的同事帮助录入信息会更准确一些、及时一些。自己录入自己的账户信息优点在于想用什么登录名就用什么登录名、这样在日常办公中使用信息系统也会更符合习惯一些、更贴切一些、也不用记过多的用户密码、至少可以使用自己多年习惯的用户名密码来登录业务系统。 当然系统中的用户名是不可以重复的,注册时系统会自动检测是否数据已重复,若是由系统管理员创建的用户名不符合操作者的习惯又不允许用户自己可以自由修改登录用户名是一个很糟糕的事情、 很恼 火的事情。 在比较庞大的组织机构里有分公司有异地办公机构,使用本功能模块,还有分级审核、分级管理功能比较好,就是由某个分公司申请的账号可以由这个分公司的系统管理员进行审核管理,这个账户的权限也可以由相应的管理员进行管理等,把整个系统管理员的工作可以分摊给各个分公司的系统管理员或者授权的操作员, 可以更准确掌握实际工作情况、可以更加贴近实际权限配置、管理等,同时又能支持集中式的管理模式。 3.1 申请用户(账户) 申请用户(账户)模块主要是为了灵活、快速申请新账户功能,还没分配到系统账号的用户可这个功能模块里提交申请用户(账户)的信心,由系统管理员审核后,才可以登录业务系统。 准确填写好需要申请的用户名、密码、选择好所在的部门等,点击"申请账户"按钮即可进行申请步骤,非管理员申请的用户(账户)需要审核过程,在申请账户的同时,会给相应的系统管理员发送即时信息,当然在管理员离线状态下时也可以通过邮件提醒方式或者手机短信提醒模式提醒管理者及时进行审核工作。 若需要有审核步骤,只有系统管理员进行审核通过后,所申请的账号会生效后才可以登录到相应的管理系统中 若系统中有未审核的账户,系统会给系统管理员发送在线即时消息进行提醒,管理员可以在第一时间进行审核确认工作,主动提醒可提高工作效率,若无待审核账户,也没必多余的操作,这样会提高系统的友善性,使系统变得更加人性化、智能化。 3.2 用户(账户)审核 进入用户(账户)审核功能页面,默认情况下、待审核的用户(账户)数据会列出来,系统管理员直接可以进行审核步骤,若整个系统是按分级管理方案部署的,那只会列出来当前管理员需要的数据列表出来,不是他所负责的待审核数据不会列出来。可以通过账户审核的查询功进行模糊查询数据、可以按审核状态、默认角色等条件进行过滤查询数据,可以更准确、快速查询数据。 编辑功能可以对申请创建用户账号时填写信息进行修改,包括用户名、姓名、默认角色等。 用户(账户)被审核通过、驳回操作时,按注册时填写的邮件地址给用户发送提醒通知邮件,及时通知用户审核结果,审核通过的用户可以及时登录系统进行相应的业务操作,有邮件提醒功能可以提高工作效率、也不用打电话通知。导出功能是将当前窗体中的数据导出为 Excel 格式的数据保存到本地计算机上,方便用户进行二次数据处理。删除功能,选择好需要删除的数据,点删除按钮即可,系统中被操作员误删的数据可以由数据库管理员进行恢复操作,应用系统里未进行物理删除数据、只对相应的数据打了删除标记处理,所以有误操作数据后恢复数据的可行性。 修改用户(账户)时不允许重复用户名,若输入了编号,编号不允许重复,系统会自动会检测数据是否已经重复,已被设置为删除标志的用户(账户)不再重复验证的范围内,系统中的登录用户名也可以由管理员进行修改。用户(账户)生效后,用户也可以自由修改用户(账户) ,这样更符合用户的习惯,用户的排斥心里也会少很多。给每个新用户及时分配个合适的编号,在真实的工作实际情况下,比较难做得到,所以建议可以先不输入用户编号, 等用户的编号被确定下来后可以事后进行设置比较符合实际工作习惯。 3.3 用户(账户)管理 用户(账户)管理模块应该是系统管理员最常用的功能模块之一,在这个模块里可以直接创建用户(账户) 、修改用户(账户)信息、可以设置用户的密码。用户(账户)管理功能也能实现分级管理功能,例如每个分公司管理每个分公司的账户、由超级管理员管理所有的用户(账户)功能。员工离职时不建议直接删除用户(账户) ,而是停用用户(账户) ,例如员工离职了,很多系统中的历史真实数据记录不应该被删除,员工离职时可能最后一个月的工资还没发放,相关的离职手续也没办理好,应该将用户设置为停用状态(取消有效状态),用户(账户)被随便删除后有可能会引起系统中其他相关数据出现关联错误的隐患。 员工离职后,就把账户删除了,可能会引发一些数据关联性、引用上的错误,例如人走了,以前的工资数据、工作日志数据、项目数据等等都已是发生过的真实数据,不应该把这个用户给删除了,相关数据都应该作为历史数据保留下来、留下历史痕迹才是正确的做法。 按道理,一切数据都不应该进行物理删除,而是进行逻辑删除才对,例如进行了删除操作,只是给数据打上一个删除标志(例如数据表里的 DeleteMark 字段标志设置为 1、表示已经被删除了) 若真需要删除数据,应该由数据库管理员进行真正的物理删除,操作,物理删除一条数据是非常容易,但是由于误删了一条数据,想把这条数据再恢复过来的代价往往是非常昂贵的,可能要花费 10 倍、100 倍的代价才能把这个数据恢复过来,就是提醒了用户是否确认删除?用户也按了确认也不应该进行物理删除操作。 添加新用户(账户)的效果图如下,当然这个窗体也可以进行二次开发,按自己的需要增加字段等等,例如把手机号码、电子邮件地址也录入进来或进行一些其他的相关连的事务处理。 系统管理员账户不应该轻易的被删除、用户名、编号等不应该重复的检查,当然不设置编号也是可以的,新来的员工一般都没有明确的编号,可以事后再补充也是很常见的,新建账户时必须要输入编号,而且必须输入个不重复的编号相对友善度不高、属于系统缺乏人性化、考虑不周全。 用户(账户)的导出功能,主要是为了以下几个工作需要,你可能做的是一个会员管理系统,定期需要给会员发送手机短信、宣传邮件提醒等功能,你已经购买了相应的软件或者服务,经常需要把数据导出后,快速导入到相应的另外软件系统里,达到你数据共享的目的。同时定期导出数据到其他文件中也起了一个备份数据的用途,用户的数据是宝贵的资源,是收入来源都是通过用户来的,所以这部分数据的备份工作意识需要强一些,客户的数据都丢了,怎么联系客户、怎么保障稳定的收入呢。 当然数据到导出功能也可以按客户的个性化需要,进行二次开发,按自己的实际需要修改源码或者做一些接口处理等等,甚至直接可以到数据库中进行处理,因为相应的表结构等都有明确的定义。 有些用户的账户又不能失效、又不想让这个用户登录,那可以由管理员来设置这个账户的密码,这样这个用户就不能登录到信息系统里来了,也不用修改无效状态就可以了。 系统中的用户名是允许修改的,这一点很多系统做得都有些不友善,例如系统管理员分配了一个不喜欢的账户名,想修改也改不了,就想改,也麻烦一些,设置是需要一个过程等等,所以自己愿意用什么用户就用什么用户名还是很有必要的,当然系统管 理员也应该能干涉,能管理是非常必要的。 3.4 分布式管理 每个公司管理每个公司自己的数据, 日常生活中经常会遇到每个公司需要管理每个公司自己的数据,然后由总公司集中管理所有数据的需求。我们经常会开发这个系统,那个系统,每个系统经过不断完善优化后我们才会发现,刚开始都是需要很简单的系统,但是往往到最后都会变得很复杂,最终我们还是逃脱不了重复建设。 那我们还不如刚开始的时候, 就用一个考虑的比较充分的配置管理工具来管理我们的 A 系统、B 系统,用这个系统可以配置管理非常复杂的权限配置,不管将来客户的需求怎么变来变去,都能适应,而且不用费什么力气,配置来配置去就可以了,当然一些简单的权限,当然是更容易能达到目的了。 很多时候,我们开发人员开发出来的某个管理系统,往往经不客户的折腾,最后改来改去会变得异常脆弱,要么这里出错那里出错,要么这里不稳定要么那里不稳定,很多时间都耗费在基础性的建设工作上,这时候我们也需要一个铜墙铁壁额的基础组件,用这个组件来配置管理整个系统的权限,用户,角色等就可以了。本着把简单的软件做个彻底,彻底的铜墙铁壁,没有错误,没有漏洞,可以重复利用劳动成果的指导思想继续完善几年打造完美的精品。 铜墙铁壁的基础数据是一切管理系统及多个管理系统之间进行整合的核心基础, 没有稳定的基础数据就没稳定的业务管理管理系统, 所以我们开发任何一个管理系统之前就应该准备好铜墙铁壁的基础组件,可以灵活配置管理扩展的"软件数据中心",而且是源码全部公开的、数据库结构设计全部公开的核心组件。 1:首先我们应该定义一个操作权限。 我们先登录到系统里 再选操作权限项定义管理菜单进入模块 在此模块里,定义了一个操作权限,叫"走火入魔权限配置后台管理",然后把这个权限项定义为数据集权限,意思是设置这个权限时需要设置管理范围。 2:操作的用户需要有相应的权限并且需要设置权限范围, 我们选择用户(账户)权限管理菜单 接着选择目标用户账户,对此账户进行详细的权限设置。 给目标用户, 权限后台管理配置的权限, 并对此权限进行范围设置 (数据集权限设置) 。当前用户的操作权限范围,可以进行按明细设置,选择详细的权限范围,到此已正确设置账户的权限范围。 3:输入演示数据。 我们先模拟输入一个北京的用户账户申请情况。 我们再输入一个上海的用户账户申请情况。 我们用系统管理员进入审核模块看看,是否有 2 个账户是待审核状态? 4:是否达到了每个分公司管理每个分公司数据的目的。 我们用目标账户"吉日嘎拉"登录此权限配置管理后台, 进入用户账户审核模块,看看会是什么情况? 的确按我们的数据集权限设置范围,只出现了北京的用户审核数据,上海的账户申请数据没出现在当前操作窗体里。 从数据设计的思想来讲,非常简单的。 第4章 组织机构(部门)管理 通俗的讲,就是一个集团公司,划分几个区域,每个区域都有什么分公司,每个分公司都有哪些部门一样,哪些部门又有那些子部门等。 当然也可以是外贸公司的全球性客户、合作伙伴的分布情况管理、或者是一个行政管理单位的按地区划分的行政机构的树型管理。 一般使用信息化系统的公司,大多是人数众多、地域分布相对广有异地分支机构的更迫切使用信息化管理系统,关键商业数据都需要依靠信息化技术及时进行沟通协调,提高办事效率。 软件系统需要充分考虑有多个分公司的情况下,应该如何满足管理上的需要,如何才能做得有条有理?这时就需要有组织机构管理的理念来引导系统架构, 可以充分考虑哪个负责人可以管辖哪个区域的数据等, 这样也防止没有经过授权的人越级查看不应该看的客户资料、合同信息等重要商业信息。 4.1 大型业务系统 属于大型集团公司,全国各地可能有多个分公司,可以划分区域、分公司等等,或者客户遍布于世界各地,需要严格的按区域划分、组织机构划分等进行严格的控制管理,每个管理员只在相应的管理范围内进行业务管理等。 在大型的信息化管理系统中,往往需要分公司的系统管理员来进行管理各自权限范围内的数据,例如各分公司的用户(账户) 、各分公司的日常管理、权限配置维护等等,各分公司的系统管理员往往对所在公司的情况了解更及时更准确。 当然也可以按集中管理策略也可以,并不是非需要分公司系统管理,这要由公司的管理能力及办事效率而决定。组织机构管理模块也有适当的整个公司的规划功能,到底设立那些部门、各个部门都有哪些工作职能,人员配置情况,岗位角色规划等等。 4.2 中小型业务系统 一般一个上百人左右的中小型公司里所有内部员工都是用的软件系统,主要以公司内部管理系统为主,例如需要规划管理好公司内部的部门设置情况,人员归属情况, 可以由系统管理员进行统一的管理,例如下图。 可以通过组织机构(部门)管理工具快速配置好公司的内部部门设置情况等,这样就可以在相应的业务功能模块采用上图中的数据, 各个模块都可以有效利用部门的划分及相应的部门中的员工数据等。组织机构的默认排序顺序是非常重要的,若每次显示出来的排序顺序都是乱的,那每天应用系统的人会很不爽,其实大家都有一个习惯,哪个部门排在哪个位置,他们的先后顺序都可以灵活设置比较好,这样可以更贴近客户的习惯,软件的友善性会更高一些。 4.3 微型的业务系统 有些很简单的业务系统,也不涉及到组织机构等,只要有几个用户,甚至就是一个用户,连角色什么也不需要,只要这个用户能登录系统,然后所有的事情都可以做就可以了,这时可以不用考虑那么多组织机构管理、角色权限管理等,就把这 2 个功能模块在模块管理中屏蔽掉就可以了。 那一个用户什么都可以操作, 怎么处理比较好呢, 首先可以建议使用 Administrator这个登录名,这个是超级管理员的意思,只要用了这个账户,就是所有的权限都不用配置,就应该有所有的操作权限,或者还可以将用户归于到 Administrators 角色中,这个角色是超级管理员的意思,任何一个账户被归到这个角色中,也有所有系统的操作权限等,是系统中权限最大的用户、角色。 小公司也有发展壮大的可能性、系统里多几个空表,也无所谓的事情,将来扩展起来更好扩展,也不用非要删除了,那么几个表,也不会咬,若多余的功能菜单觉得很碍眼,那可以设置为无效状态,也不会在管理工具里显示出来了,购买笔记本电脑,也不会因为不需要无线网络,然后要求厂商把无线网络模块去掉的吧,说不定哪天就派上用处了。 4.4 内外部组织机构 组织机构可以分为内部组织机构与外部组织机构,例如,客户的分布区域属于外部组织机构,一个公司的内部的部门的划分等,属于内部组织机构部分,例如下图所示。 这样做的好处是,组织机构的管理做一套就可以了,不用内部组织机构的管理做一个,外部组织机构的管理又做一套程序,这样就可以集中管理所有的组织机构了,将来由于业务的拓展等,需要数据集权限时,对整个系统的影响会很小,也留下了将来深入二次开发的余地,这个系统数据的条理性也会更强一些。 虽然现在没有严格的数据过滤需要,将来随着业务的深入、公司规模的发展,也有可能在不久的将来, 客户就需要按组织机构进行数据库过滤的实际工作及管理上的迫切需要了。 第5章 角色(用户组)管理 此功能模块可以灵活设置整个系统内的角色/用户组信息,可以进行对角色的添加、修改、删除、分配权限的操作,可以灵活设置某个角色中包含的用户(账户)等。 角色:类似岗位定义、主要是为了系统分配权限、定义工作流程中设置审批节点,提高多用户(账户)的权限分配效率、减少用于账户的变动引起的重复设置权限的工作量等。 用户组:临时性的用户组或由系统用户创建的用户组,可以自由定义,可以定位为自己管理自己所创建的用户组。 此功能模块主要是为了解决如下几个问题: 1: 系统都有哪些角色/用户组? 2: 哪些角色/用户组,有哪些成员? 3: 哪些角色/用户组,有什么权限? 4: 谁可以对角色/用户组进行管理? 设置权限、管理其中的用户? 5: 谁能管理哪些角色/用户组 在查询内容中输入需要查询的信息,系统会根据输入的查询信息显示相关的角色信息,添加的角色编号、名称不能重复,超级管理员角色不能被删除、不能被更改,是系统默认的角色,角色可以进行排序工作、停用设置、删除、导出等等。 可以在管理页面上,对权限所拥有者的权限进行灵活配置,同时也可以那个角色里有那些用户(账户)等,都可以进行灵活的配置。只能给角色设置权限,不能给用户组设置权限,本系统认为用户组只是一个临时的群组来处理,需要设置权限的群组按角色来处理。 角色添加、编辑效果如下图,可以设置角色是否有效(停用)标志,不建议删除角色,添加、编辑时角色编号、名称都不允许重复,角色名称是必输项,按表头某个列近些排序后,需要点保存按钮后最新的排序顺序才会生效。 第6章 职员(员工)管理 职员管理功能模块主要是对公司内部员工数据进行管理,有新建员工数据、更改员工信息、员工部门变更等等。 职员(员工)管理功能主要是为了用在企业内部信息化管理系统开发的,在人力资源管理系统中的可二次开发。 6.1 职员(员工)管理 创建职员信息时可以同时创建用户账户信息,可以将照片存在数据库中、当然此职员管理页面,可以按客户的个性化需要进行二次开发,可以将需要输入的内容都补充到这个功能界面上,这个界面只是一个快速的参考原型。 默认情况认为一个职员是属于某个组织机构,当然现实上有很多一个人兼职多个岗位、同时兼职多个组织机构的不同岗位的情况,本系统在数据库设计上,提供了一个职员可属于多个组织机构的扩展性,暂不提供支持此功能的相应的设置管理界面。 6.2 职员(员工)的排序顺序 技术人员往往不太注意细节,特别是程序员沉迷于程序代码之中,在日常工作中,特别是在中国,很在乎排名问题、例如公司的通讯录中的排名先后、往往有一些含义在里面,例如职位最高的排在最前面、地位最高的排在最前面,这些人的排序顺序随着职位的变化也需要及时的进行调整,日常工作中也常常也需要随时能灵活的导出这些数据,进行重复利用,快速生成一些报表数据等等用。 需要在应用软件里,不仅能灵活的设置员工的部门归属关系,而且还能快捷有效的设置部门中的排序顺序才能符合日常工作习惯、管理上的要求及客户的实际需求。有些软件项目,就是因为人员的先后顺序不能灵活设定,导致整个软件用起来不顺手,或者找一个人变成很困难的情况,人员的排序顺序乱了,寻找一个人也会变得很麻烦,不能适应日常习惯,友善度会大大降低。 排序码需要人工输入操作上也有些不友好,相对智能的比较好些,不用每个人一个个都调整排序码,只是点点选选就可以了,客户会越来越喜欢用的这样智能的软件。 6.3 职员(员工)与用户(账户)的关系 不是所有的职员(员工)都有用户(账户) 例如公司的保洁员,可能是这个公司,的正式职员,但是未必有登录公司业务系统的用户(账户) ,有用户账户的未必全是公司职员,例如公司的客户、供应商也有登录公司业务系统的用户账户,但是这些用户账户不是公司的职员。 有的系统需要有内部职员管理模块例如大多数内部业务信息管理系统,有的系统是外部网站类新闻类系统性质的、这类的系统并不关注内部职员的管理模块。作为一个工具类、可进行二次开发的软件组件,在设计上遵守了最简洁数据结构、所以将内部职员的信息、与用户账户的信息进行了隔离设计,这样系统可以一最简洁的用户账户结构与其他系统可以进行集成工作, 同时又能支持丰富的职员信息管理的内部信息化项目的需要。 6.4 职员(员工)导出数据 往往系统只能提供的是有限的数据查询统计功能,甚至报表都是固定的,无法按客户的个性化要求统计查询数据,并打印出相应的统计数据,这时建议有数据的导出功能,可以将数据都导出到 Microsoft Office Excel 文件中,然后客户按自己的要求,进行随意的统计过滤、按个性化的要求进行打印输出相应的统计报表。 6.5 职员(员工)离职处理 一个公司,特别是软件开发类公司里,由于到处充满了机会,经常会有新员工入职、老员工离职、岗位变动等等事情发生得也会频繁,员工离职时,不应该把员工的相关数据删除掉,而是把员工账号的有效标识设置为无效状态才对。 将界面上的,有效标注选中状态去掉,就表示此员工的账号被设置为无效状态了,这个用户就不可以登录公司的相关信息系统了,将有效标志选中状态恢复过来后,此用户就允许登录到相应的信息系统中。 当然一个职员的离职相关手续应该是在人事系统里进行配置管理的,可以在客户的人事系统里,通过调用二次开发接口、直接用程序设置为无效状态,这样没必要系统管理员进行重复性的设置工作了。 第7章 内部通讯录 经常会遇到找不到某个同事的联系方式或是某个新来同事的联系方式怎么也找不到,公司发放的通讯录里还有一些很早已离职人员的联系方式等。公司需要及时整理最新的内部通讯录,高效沟通协调,每次都人工更新通讯录一方面是工作效率低,另一方面这个工作也很繁琐、没有技术含量,重复性也多,经常有变动。 当进入一个公司后,往往不知道哪个是哪个,谁叫什么名字,谁是负责哪个方面的?若有一个内部通讯录, 可以比较轻易的看到哪个人的照片是什么样的?这个人又叫什么名字,这个人又是负责哪个方面的,那可以用更短的时间了解公司的人员结构,更快融入到公司工作当中。 7.1 我的联系方式 当前的用户若是公司的内部职员(员工) 登录系统后会出现"我的联系方式"菜单,点击此菜单可以设置自己的最新联系方式。 可以在本窗体中还可以设置自己的照片,支持拖动照片功能,直接把照片文件拖入照片控件上就可以了。 7.2 内部通讯录 在内部通讯录窗体里,可以设置新员工的通讯方式、也可以快速设置自己的联系方式,可以将当前的通讯录导出到 Excel 文件中。 内部通讯录可以按公司/部门快速过滤数据,方便差找、导出某个分公司的通讯录或者某个部门的通讯录。 可以通过邮件方式将最新的内部通讯录发送给所有的内部员工。 有操作权限的人员能编辑任何一个用户的联系方式,当然也可以批量快速编辑公司的通讯方式。 当然,只有相应的管理操作权限的操作者才可以更改内部员工的联系方式,没有操作权限的用户只能查看内部通讯录、只能修改自己的联系方式。 第8章 即时通讯 即时通讯功能主要是为了实现管理系统的通知信息能即时发送给相应的用户(账户) ,为了实现即时高效的通知功能。虽然与商业化的即时通讯软件无法匹敌,但是往往内部个性化的管理系统,还是需要即时通知、即时沟通。 8.1 发送消息 可以通过发送消息功能菜单,给系统的中的用户(账户)发送即时消息,若对应的用户在线状态或者登录了管理系统的页面,都应该能及时显示出来站内的即时消息。 进入发送信息窗口后,可以选择发送的对象,按选择按钮弹出选择用户(账户)的窗口,选择好目标用户(账户) 输入内容后点发送(S)按键后,即时信息就可以发送给相应的用户(账户) 。8.2 即时通讯 可以通过双击系统图标,出现当前的系统中的内部组织架构图,可以直接选择组织机构中的用户(账户) 、直接发送消息,设置用户的账户的权限等。 若有在线消息出来,可以直接弹出消息,也可以直接回复消息,用户的在线状态会时时更新,与 QQ、MSN 的在线状态很类似。 上图为回复及时信息的功能效果图。 第9章 数据字典(选项)管理 数据字段(选项)管理模块主要是为了灵活控制整个系统中的可选项数据,可以按用户的习惯或者用户的个性化要求进行灵活管理。 同时这部分数据也可以在开发多种业务系统时有一定的重复利用价值,将数据导入到新的业务系统里重复利用,一些选项数据就不用重新反复录入了,可以提高新项目的开发实施速度。 9.1 数据字典(选项)管理 这些各种可选项数据经过多年的维护后,也可以当是一种知识库、随着公司的业务积累,越来越完善、越来越齐全,合理性也会更强一些。 某些业务管理系统,就是由于满足不了最终用户的一点点个性化的需求,在日常办公中不能适应客户的实际需求,导致客户使用不便、达不到客户对业务管理系统的人性化方面的要求,最终由于一些小小的需求满足不了客户的要求,导致整个项目实施不顺。 若在开发阶段进行了充分的考虑、 多站在不同客户的个性化需求角度进行了设计, 那开发出来的系统会更符合客户的实际工作需要, 客户也更容易接纳设计出的软件管理 系统。 上图中的每一条数据项对应了后台的一个数据表,把每个选项详细情况放在原始数据结构统一目标表里,这样设计的好处在于:一方面可以任意扩展目标表,增加字段,对其他的目标表没有影响,可以按开发的需要,增加任意字段进行扩展;另一方面,导入导出数据更加灵活, 可以将部分积累好的选项数据快速导入到另外一个信息管理系统中,可以明显提高工作效率,提高数据的重复利用程度,这些数据也是公司的重要业务知识积累部分。 9.2 数据字典(选项)明细管理 例如一个人力资源管理系统,可能在同一个软件,在南方实施与北方实施,客户的要求都会有些不同,在大西南实施与东北实施的客户的要求差别也会很大,大西南实施时需要有很多民族选项,很多民族可以从列表里能选择比较适应客户的需要,若在浙江杭州临安实施一个人力资源软件几乎只需要列出 2-3 个民族就可以了,很少有少数民族, 所以使用时也不需要把其他民族都列出来, 能设置其他民族选项为无效状态比较好,也不是说删除才对,应该是有需要时,再把这些设置为有效就可以了。 当然不只是设置为有效无效状态就可以了,还能设置排序顺序比较好,例如在内蒙古实施这个人力资源软件,应该蒙古族排序在第 2 个位置比