整理统一用户及权限管理.docx

上传人:b****4 文档编号:4222174 上传时间:2022-11-28 格式:DOCX 页数:39 大小:215.06KB
下载 相关 举报
整理统一用户及权限管理.docx_第1页
第1页 / 共39页
整理统一用户及权限管理.docx_第2页
第2页 / 共39页
整理统一用户及权限管理.docx_第3页
第3页 / 共39页
整理统一用户及权限管理.docx_第4页
第4页 / 共39页
整理统一用户及权限管理.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

整理统一用户及权限管理.docx

《整理统一用户及权限管理.docx》由会员分享,可在线阅读,更多相关《整理统一用户及权限管理.docx(39页珍藏版)》请在冰豆网上搜索。

整理统一用户及权限管理.docx

整理统一用户及权限管理

(完整版)统一用户及权限管理

编辑整理:

 

尊敬的读者朋友们:

这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整版)统一用户及权限管理)的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整版)统一用户及权限管理的全部内容。

(完整版)统一用户及权限管理

编辑整理:

张嬗雒老师

 

尊敬的读者朋友们:

这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布到文库,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是我们任然希望(完整版)统一用户及权限管理这篇文档能够给您的工作和学习带来便利。

同时我们也真诚的希望收到您的建议和反馈到下面的留言区,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请下载收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为<(完整版)统一用户及权限管理〉这篇文档的全部内容。

 

文件编号:

 

统一用户及权限管理平台

解决方案及设计报告

 

版本号0。

9

 

拟制人王应喜日期2006年6月

审核人__________日期___________

批准人__________日期___________

 

 

 

1引言

1.1编写目的

编写此文的目的从总体上描述企业统一用户及授权管理的解决方案以及统一用户及授权管理系统的功能设计、对外接口设计、数据库设计,并为下一阶段的详细设计以及系统编码、测试提供依据。

本文档读者对象:

用户、项目经理、系统分析员、软件文档管理员、质量管理人员,软件开发人员、软件测试人员等。

此文档和附加参考资料作为系统进行设计与测试的基础性文档。

1.2背景

随着信息化的发展,企业的应用不断的增加,而企业的应用行使多样化,既有传统的C/S模式应用,又有基于internet的B/S应用;既有基于Windows平台的.net应用,又有基于J2ee架构的应用。

企业在进行信息化建设过程中,在没有实现同以用户及授权管理之前,各个系统的用户独立,且用户授权不能集中管理,这给企业信息化的系统管理员和操作用户带来很多不便。

鉴于此,本文提出基于统一用户及授权管理解决方案.

1.3定义

列出本文件中用到的专门术语的定义和外文首字母组词的原词组。

1、SSO:

SingleSignOn,单点登录

 

1.4参考资料

 

2统一用户及权限管理平台解决方案

2.1需求分析

统一用户权限管理主要解决的问题:

1、提供用户注册

用户通过网上注册。

2、提供统一的用户管理和授权管理(应用程序)

权限控制,只实现功能权限控制,而不实现数据(范围)权限控制,主要由于各个业务的数据访问规则很难归纳为标准的访问规则。

而功能从权限的控制包括:

●不做权限控制的功能,即不登陆就可操作,如:

对外新闻、公告查询

●公共功能:

用户只要登陆就可操作的功能,如:

内部新闻、内部公告查询

●需权控制的功能:

只有当用户拥有该功能的权限才能操作的功能

3、提供统一的用户及权限认证接口

提供的统一的用户及权限认证接口同时满足C/S和B/S应用的用户认证和权限控制的需求;且对于B/S应用,既满足基于windows平台的。

net应用,也满足与基于J2ee架构的应用.

4、提供统一的数据访问接口

统一用户及权限管理平台提供各类数据访问接口,如:

获取操作人员的信息、获取机构信息、获取系统功能信息等。

5、系统具有较好的扩展性和灵活性

组织机构、用户的属性要求可以进行适当的增加,以满足各个不同企业的统一权限管理的需要。

统一权限管理,既满足与单个应用授权,也满足所有应用集中授权。

统一权限管理既满足一个机构集中授权,也满足多机构逐级受权.

在统一授权管理中,每个应用权限控制的粒度不一致,有的应用或模块控制得较粗,有的控制得较精确,如:

对于数据的维护只是一个“数据维护”权限粗的控制,也可以控制到“数据新增”、“数据修改"和“数据删除”权限的精确控制上。

//以下由沈伟补充

6、系统的单点登录(包括跨系统的应用调用)

7、权限模型配置(包括模块与部分可通用的数据权限;数据权限做到什么程度需思考)。

对于第2点中细节描述部分,则形成需建成独立服务模式,而非源程序加载模式。

此需求需讨论。

建议:

对SSO项目进行继承。

 

2.2

系统架构

 

如图所示,统一用户及权限管理平台系统功能由四部分组成:

1、用户注册系统

用户注册系统提供用户网上注册.

2、统一用户及授权管理系用系统

该系统主要由应用系统的系统管人员使用。

系统提供组织机构管理、用户管理、应用系统管理、应用系统权限(功能)配置管理、角色管理、角色权限分配、用户权限(角色)分配、用户登录管理功能。

3、认证与服务

认证服务提供应用系统身份认证接口、权限认证接口、数据访问接口.应用系统同过调用身份认证接口实现用户身份认证;调用实现对用户权限认证;通过调用数据接口读取如用户信息、组织机构信息等数据.

4、认证中心数据库

认证中心数数据库负责存储统一用户及权限管理的数据。

2.2.1

统一用户、权限管理数据流程图

 

 

图:

统一用户、权限管理数据流程图

从以上图中可知,在进行统一用户、授权管理时,一方面对认证中心的用户信息、权限分配数据进行维护,另一方面,根据需要,可以对门户系统(如LiferayPortal、IBMWebspherePortal)中的相关的用户、权限分配信息进行同步更新,以及对邮件系统中的邮件帐户信息进行同步更新,以及对其它系统的认证信息进行同步更新。

通过以上方案,既满足了统一用户和授权管理,同时,又解决了门户系统、邮件系统等的用户管理、授权和认证问题.避开了去了解甚至重新构造门户系统、邮件系统等中的用户认证、权限认证问题。

 

2.2.2新建应用、门户的身份认证、权限认证机制

✧门户权限的认证由门户服务器提供的认证服务完成。

✧新的应用系统建设,其用户、权限是基于统一的用户、权限管理平台建设,用户身份认证、权限认证由我们提供的统一用户权限管理的认证服务完成。

2.2.3老的应用系统的认证机制

老的应用系统的用户认证、权限认证仍然由老系统完成.若老的应用系统整合到门户,首先通过门户认证,然后再通过老的系统的用户、权限认证.具体如下:

2.2.4关于邮件系统的用户认证问题

邮件系统的用户认证仍然由邮件系统提供的认证服务完成,只是,若需要进行统邮件系统的账户时,在对认证中心的用户进行维护时,对邮件系统的帐户信息(主要是用户名和口令)进行同步更新.

2.3主要技术路线

●统一用户和权限管理系统

该系统采用jsp+struts+hibernate的J2ee架构。

J2eeWEB中间件采用TOMCAT。

●认证接口

提供给应用系统的接口以webservice方式提供,实现方法采用一般的javabean实现。

●数据库

在本方案中,数据库系统采用mysql数据库。

3用户注册系统设计

此部分主要是想用户网上注册功能。

 

4统一用户及授权管理系统设计

统一用户及授权管理系统主要实现的功能包括:

●组织机构及用户管理

●应用系统及功能管理

●角色管理

●角色权限分配

●用户权限分配

●用户登录日志管理

系统主界面如下:

 

4.1组织机构及用户管理

1、功能描述

采用树形结构对机构及人员进行维护管理。

具体包括:

1)机构的维护

●机构新增

●机构删除

●机构修改

2)人员的维护

●人员新增

●人员删除

●人员修改

●人员口令修改

●注册用户审查

●帐户开通/停止

3)用户授权

●用户角色授权

4)用户权限查询

●用户拥有的角色查询

●用户拥有的权限查询

2、界面样式

 

4.2角色管理

对角色的维护管理,包括角色的新增、修改、删除。

4.3角色权限分配

4.4用户权限(角色)分配

4.5登录(在线)用户管理

提供在线用户查询和注销在线用户功能。

 

4.6辅助功能

4.6.1系统操作管理

实现操作日志的查询和导出。

4.6.2用户登录日志管理

实现对用户历史登录日志的查询和导出.

4.6.3系统代码表管理

代码类别维护

代码维护

4.7应用系统及功能管理

此部分功能一般只提供给开发应用开发上维护.主要实现应用系统目录维护和系统功能维护.

5认证与服务接口设计

5.1概述

企业的信息化建设通常是要建设多个应用系统,多个应用系统共用一套组织机构及权限管理子系统。

组织机构中包括不同业务部门、不同行政级别的人员,不仅组织机构非常庞大,并且各个组织单元之间的关系错综复杂。

为方便组织机构管理工作和授权管理工作的顺利进行,在组织机构及权限管理部分实行“逐级授权”的策略,将组织机构及权限管理子系统建设成为一个独立的Web应用,各个行政级别的系统系统管理员都可以登录到Web服务器上,进行组织机构和权限的管理和维护工作。

由于这是一个多应用系统,各个业务系统对权限分配的结果都有各自不同的展现方式,为使各个应用系统能够将组织机构管理和权限分配的结果实实在在的应用到各个业务系统中,组织机构及权限管理子系统向各个业务系统提供了统一的应用程序接口。

接口以WEBSERVICE形式提供,为方便各个业务系统操作,接口的返回值以XML格式为主。

各个业务系统根据权限管理子系统的返回值可以自行决定如何展现权限分配的结果。

5.2接口详细描述

统一用户及权限管理平台以WEBSERVICE形式提供对外接口,返回信息以XML形式提供,接口如下:

 

5.2.1判断用户是否合法

类名称

OrgManager

 

函数名称

功能描述:

根据用户登录名、口令判断用户是否为合法用户

调用语法:

参数描述:

参数标识参数名称数据类型输入/输出

userID用户ID号String输入

返回值说明:

 

备注:

5.2.2用户注销

类名称

OrgManager

 

函数名称

功能描述:

根据用户登录名注销登录用户

调用语法:

参数描述:

参数标识参数名称数据类型输入/输出

userID用户ID号String输入

返回值说明:

 

备注:

 

5.2.3用户修改密码

类名称

OrgManager

 

函数名称

功能描述:

用户修登录名注销登录用户

调用语法:

参数描述:

参数标识参数名称数据类型输入/输出

userID用户ID号String输入

返回值说明:

 

备注:

 

5.2.4获取用户登录信息

类名称

OrgManager

 

函数名称

功能描述:

根据用户登录名或用户ID号获取用户登录信息

调用语法:

参数描述:

参数标识参数名称数据类型输入/输出

userID用户ID号String输入

返回值说明:

 

备注:

 

5.2.5获取组织机构信息

类名称

OrgManager

 

函数名称

功能描述:

根据用户登录名或用户ID号获取用户登录信息

调用语法:

参数描述:

参数标识参数名称数据类型输入/输出

userID用户ID号String输入

返回值说明:

 

备注:

 

5.2.6获取用户完整信息

类名称

OrgManager

 

函数名称

getUserInfo

功能描述:

根据用户ID号获取用户完整信息

调用语法:

StringgetUserInfo(StringuserID)

throwsAppException,RemoteException

参数描述:

参数标识参数名称数据类型输入/输出

userID用户ID号String输入

返回值说明:

存在相应的结果信息时,返回值格式如下:

xmlversion=”1.0"encoding=”GBK"?

〈org〉

〈personid="xxxx”〉〈--人员标识-->

〈name〉xxxx〈/name〉<--用户姓名-—〉

〈admin_level>xxxx<——管理级别-->

〈ownerd_unit〉xxxx〈/ownerd_unit〉<-—设立机构—-〉

〈department>xxxx

xxxx〈/district><--行政区划-—〉

xxxx<--办公电话—->

xxxx〈/email>

〈usb_state>xxxx〈/usb_state〉<-—USB发放状态——〉

〈/person>

〈/org〉

没有相应的结果信息时返回空字符串"”。

备注:

5.2.7获取用户拥有的功能模块的完整信息

类名称

PrivilegeManager

 

函数名称

getModulesOfUser

功能描述:

根据用户ID号获取用户拥有的功能模块的完整信息

调用语法:

StringgetModulesOfUser(StringuserID)

throwsAppException,RemoteException

参数描述:

参数标识参数名称数据类型输入/输出

userID用户ID号String输入

返回值:

存在相应的结果信息时,返回值格式如下:

<?

xmlversion="1。

0”encoding="GBK"?

>

返回值中包含1个以上应用-—〉

<-—枝干菜单可以嵌套-—〉

〈itemid=”xxxx”name="name"title=”xxxx”location="xxxx"/〉

〈itemid=”xxxx"name="name”title="xxxx"location=”xxxx”/〉

〈——一个枝干菜单下包含1个以上叶子菜单项-->

〈/menu〉

〈/menu〉

〈menuid="xxxx”name="name”title=”xxxx”>

〈itemid="xxxx”name="name”title="xxxx"location="xxxx”/>

〈-—一个应用下包含1个以上枝干菜单——〉

〈/application〉

〈menuid="xxxx”name="name"title=”xxxx”〉

〈menuid="xxxx”name=”name"title=”xxxx”〉

〈itemid="xxxx"name=”name"title=”xxxx"location="xxxx”/>

〈/menu>

〈/privilege>

没有相应的结果信息时返回空字符串"”.

备注:

5.2.8获取用户拥有的一级功能模块

类名称

PrivilegeManager

 

函数名称

getRootModulesOfUser(StringuserID)

功能描述:

根据用户ID号获取用户拥有的一级功能模块

调用语法:

StringgetRootModulesOfUser(StringuserID)

throwsAppException,RemoteException

参数描述:

参数标识参数名称数据类型输入/输出

userID用户ID号String输入

返回值:

存在相应的结果信息时,返回值格式如下:

xmlversion=”1.0"encoding="GBK”?

〈privilege〉

〈applicationid=”xxxx”name=”xxxx"〉

〈/application>

〈applicationid=”xxxx”name="xxxx”>

〈--应用.返回值中包含1个以上应用——〉

〈/privilege>

没有相应的结果信息时返回空字符串””。

备注:

5.2.9获取用户拥有的某一一级功能模块下的所有子功能模块

类名称

PrivilegeManager

 

函数名称

getRootModulesOfUser(StringuserID)

功能描述:

根据用户ID号、一级功能模块ID,获取用户拥有的某一一级功能模块下的所有子功能模块

调用语法:

StringgetChildModulesUnderOneRootOfUser(

StringuserID,

StringapplicationID,

StringrootModuleID)

throwsAppException,RemoteException

参数描述:

参数标识参数名称数据类型输入/输出

userID用户ID号String输入

applicationID应用ID号String输入

rootModuleID一级功能模块ID号String输入

返回值:

存在相应的结果信息时,返回值格式如下:

〈?

xmlversion=”1.0”encoding=”GBK"?

>

〈privilege〉

〈applicationid=”xxxx”name="xxxx”>

〈menuid="xxxx”name="name"title=”xxxx"〉

〈itemid=”xxxx”name=”name"title="xxxx”location=”xxxx”/〉

<-—1个枝干菜单下包含1个以上叶子菜单项-—〉

〈—-1个根菜单下包含0个以上枝干菜单—->

〈/menu〉

没有相应的结果信息时返回空字符串””。

备注:

5.2.10获取用户拥有的某一末级功能模块的操作列表

类名称

PrivilegeManager

 

函数名称

getOperationsInOneEndModuleOfUser

功能描述:

根据用户ID号、应用ID、末级功能模块ID,获取用户拥有的某一末级功能模块中的所有操作

调用语法:

StringgetOperationsInOneEndModuleOfUser(

StringuserID,

StringapplicationID,

StringendModuleID)

throwsAppException,RemoteException

参数描述:

参数标识参数名称数据类型输入/输出

userID用户ID号String输入

applicationID应用ID号String输入

endModuleID末级功能模块ID号String输入

返回值:

存在相应的结果信息时,返回值格式如下:

<?

xmlversion="1.0"encoding=”GBK”?

>

〈applicationid="xxxx"name="xxxx”〉

〈itemid=”xxxx”name="name”title=”xxxx"location="xxxx”/〉

〈operationid="xxxx"/〉

<——包含1个以上操作标识-—〉

〈/item>

〈/menu〉

〈/menu〉

〈/privilege>

没有相应的结果信息时返回空字符串"”.

备注:

5.2.11判断用户是否拥有的某一末级功能模块的某一操作权限

类名称

PrivilegeManager

 

函数名称

isHaveOperationInOneEndModule

功能描述:

根据用户ID号、应用ID、末级功能模块ID、操作名称,判断用户是否拥有的某一末级功能模块的某一操作权限

调用语法:

booleanisHaveOperationInOneEndModule(

StringuserID,

StringapplicationID,

StringendModuleID,

StringoperationName)

throwsAppException,RemoteException

参数描述:

参数标识参数名称数据类型输入/输出

userID用户ID号String输入

applicationID应用ID号String输入

endModuleID末级功能模块ID号String输入

operationName操作名称String输入

返回值:

-true拥有

—false没有

备注:

5.2.12获取某一功能模块的ACL-尚需进一步研究

类名称

PrivilegeManager

 

函数名称

getAclOfModule

功能描述:

根据模块ID号获取属主应用、同类应用、其它应用对当前模块的操作权限.

调用语法:

StringgetModuleACL(StringmoduleID)

throwsAppException,RemoteException

参数描述:

参数标识参数名称数据类型输入/输出

moduleID模块ID号String输入

返回值:

String型模块ACL属性,ACL属性由三位数据组成,第一位代表属主应用的权限,第二位代表同类应用的权限,第三位代表其他应用的权限。

每一位有四个枚举值:

0:

没有权限

1:

查询权限

2:

修改权限

3:

查询、修改权限

备注:

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

当前位置:首页 > 解决方案 > 学习计划

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

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