统一身份认证权限管理系统.docx

上传人:b****6 文档编号:3397175 上传时间:2022-11-22 格式:DOCX 页数:69 大小:4.50MB
下载 相关 举报
统一身份认证权限管理系统.docx_第1页
第1页 / 共69页
统一身份认证权限管理系统.docx_第2页
第2页 / 共69页
统一身份认证权限管理系统.docx_第3页
第3页 / 共69页
统一身份认证权限管理系统.docx_第4页
第4页 / 共69页
统一身份认证权限管理系统.docx_第5页
第5页 / 共69页
点击查看更多>>
下载资源
资源描述

统一身份认证权限管理系统.docx

《统一身份认证权限管理系统.docx》由会员分享,可在线阅读,更多相关《统一身份认证权限管理系统.docx(69页珍藏版)》请在冰豆网上搜索。

统一身份认证权限管理系统.docx

统一身份认证权限管理系统

 

统一身份认证

权限管理系统

 

使用说明

 

第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编程语言开发设计,所以需要在微软的网站下下载最新的.NETFramework运行环境,管理程序需要运行在Windows操作系统上。

下载微软的.NETFramework运行环境请连接下面的网址

二)后台数据库:

本系统支持多种数据库系统,例如SQLServer、Oracle、MySql,可以按用户的使用习惯,任意选择其中一种数据库系统。

目前提供SQLServer版本的数据库,其他版本的数据库需要用户自己通过导入导出脚本语言的方式进行处理。

1.11软件安装、配置、运行方法

一)软件安装:

由于本系统都是针对软件技术开发者,所以没有做成安装包的方式发行,提供源码+二次开发调用的API,动态连接库等方式,只要把数据库附加上去,修改好配置文件即可。

二)配置:

源码文件的文档目录结构如下图,主项目为DotNet.WinForm,请在解决方案中将DotNet.WinForm项目设置为启动项目。

配置文件的为Config.xml,设置配置项为UserCenterConnection,单机版参考配置如下。

Catalog=UserCenter;IntegratedSecurity=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章角色(用户组)管理

此功能模块可以灵活设置整个系统内的角色/用户组信息,可以进行对角色的添加、修改、删除、分配权限的操作,可以灵活设置某个角色中包含的用户(账户)等。

角色:

类似岗位定义、主要是为了系统分配权限、定义工作流程中设置审批节点,提高多用户(账户)的权限分配效率、减少用于账

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1