1.引言
1.1. 编写目的
为了统一WEB系统中的安全权限模块,以满足不同系统用户的需求并将该模块部分设计成统一的、稳定的、标准的、功能完善的后台配置权限管理工具,降低多个软件项目及多个项目组的开发成本、维护成本、项目实施成本,项目管理成本,提高工作效率,节省开发周期及开发费用投入,减少相应的测试维护改进功能的时间成本,同时可以减少由于开发人员变动带来的项目风险。通过不断对其完善,力争形成一套通用、灵活、完全可复用且易嵌入应用系统的组件模块。 1.2. 项目背景
随着项目组开发的web系统越来越多,逐渐发现了如下需要解决的问题:
1)每套独立的系统都需要重新配置安全,授权管理这一模块,而且这部分属于重复开发,降低了开发效率,增加了开发周期及万物的终结
开发费用投入。
2)开发的系统越来越多,在需要集成的时候会发现,各个系统这一模块或多或少存在差异不兼容性,导致维护测试的困难,难
以实现统一的认证授权功能。而且各个系统的授权模块数据存放
于不同的数据库中,无法统一对这些基础数据进行统一有效管理。
3)若日后需要将系统移进行移植,需反复配置,录入相关基础数据,如角信息,权限信息这些都属于基础数据内容,不管在
哪个系统中,这些信息大部分都无需改动。
4)同一用户在登录各个系统时,登录的帐号口令可能会有好多个,这样会导致用户难以同时记住所有的密码。对象数据库
该模块正是基于上述需求,而设计开发的认证和授权管理类安全控制系统,提供与当前企业实际组织体系和业务模式相适应的分级分类认证和授权机制。向用户和应用系统提供整合的认证和授权控制管理服务,提供用户身份认证到应用授权的映射功能。提供用户控制的基于多种业务属性组合条件下灵活的授权和访问控制机制,简化具体应用系统的开发维护。
1.3. 术语定义
RBAC(Role-Based Access Control,基于角的访问控制),就是用户通过角与权限进行关联。
简单地说,一个用户拥有若干角,每一个角拥有若干权限。这样,就构造成“用户-角-权限”的授权模型。在这种模型中,用户与角之间,角与权限之间,权限与资源之间,角与资源,一般者是多对多的关系。
2.任务概述
2.1. 模块功能目标
孝心献给父母1.统一用户管理:
提供组织机构和用户的统一管理,整合分散的用户基本信息及帐号信息,实现一处操作,完成各应用系统用户的注册、增删改查等同步管理。支持用户分级管理,只需本地管理员进行维护。支持用户属性扩展,可满足企业WEB应用对用户属性的特定需求。主要管理内容如下:1)企业组织机构管理
对企业组织机构的创建、维护、删除操作,形成企业组织机构目录树。2)用户生命周期管理
对用户的注册、变更和注销等管理。
3)用户信息管理
无线收发
对用户的新增、修改、删除、停用/启用操作,对用户组、用户属性的管理。提供用户检索、用户信息查询获取的公共服务和统一接口。
4)用户权限管理
用户对应用系统访问权限的授权管理。
5)用户信息同步服务
统一用户管理系统与本地各应用系统间的用户同步服务。
2.实现子系统统一权限管理,不管是简单的,还是复杂的权限管理要求,都用一套后台管理:
整合系统内部资源,实现统一权限划分,支持角的定义和管理,支持机构部门角,并对部门所属用户进行统一授权,支持RBAC(用户基于角的访问)控制。
3.统一各个子系统的角管理:
用户管理员完成对角的添加、修改、删除操作。角支持以下几种方式进行归类:(1)按所属部门定义角,如:综合部、财务部等;(2)按用户的职务级别定义角,如:一级经理、二级经理
、三级经理等;(3)按用户的职位定义角,如:综合秘书岗、财务岗等;(4)按组定义角,如:XXX项目组。
按角的多级分层授权管理:角代表了一系列相关功能的有机集合。按角的多级分层授权符合日常管理和思维模式,可以简化管理、方便用户。同时,角的概念相对比较稳定,当出现人员变动的时候,只需要改变人员和角之间的关联,无需调整一系列相关功能的授权。4.用户信息批量导入:
支持文件(.txt、.xls、.cvs等格式)批量方式导入/导出用户。5.统一身份认证:
作为企业WEB平台的统一认证模块,是实现单点登录(SSO)的基础,。所有的用户均可通过访问统一身份认证的入口来完成系统的单点
登录。同时包括对session 的同步控制。
6.日志管理:
提供了对日志的信息维护功能。用户对人员信息可以进行查询、详细、创建、导出操作。包含的字段:序号类型内容结果备注状态创建时间创建人。消费导刊
7.异常管理:
提供了对异常的信息维护功能。用户对人员信息可以进行查询、详细、创建、导出操作。包含的字段:序号类型内容结果备注状态创建时间创建人
运行环境:
以SpringSeicutity为基础安全框架,tomcat 为JEE WebServer,用户界面接口为Jquery EasyUI组件开发。
3.模块详细设计
3.1. 模块详细结构
技术选型:
采用Spring Security3作为安全验证授权框架,相比SS2其优势有:1)添加了对认证和访问成功及失败添加了精确的配置。
2)使用security命名空间对session访问和并发控制进行精确管理,统一了对session的控制。教师是园丁