统一身份认证的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
统一身份认证的设计与实现
摘要:在分析Web service优势的基础上,提出了一种基于接口的统一身份认证的模型,并采用Java技术实现了原型系统。在该系统中,使Web Service将分布于校园网上教学,财务、后勤,学生等不同应用系统的身份认证集成在一起,有效地避免数据在业务逻辑的冗余,减少学生信息的维护工作。
关键词:统一身份认证;Java技术;Web服务
0 引言
随着网络信息技术的发展,特别是近年来高校校园网络建设不断完善和性能提高,校园网内部运行的应用系统也是日益增多。一般说来,这些各自独立的系统各自拥有一套用户及不同的身份认证方式,结果造成多套用户存在着用户信息冗余、用户多密码记忆和多点登录等问题。如何既安全又方便地实现用户认证,是一个需要解决的问题。这就要求我们通过一个公共平台把各自独立的应用系统的身份认证、授权和用户管理统一起来,并把各自应用系统有效地集成,实
现用户的一次登录,从根本上提高系统管理效率和安全。
1 统一身份认证的设计与实现
1.1 系统基本设计
本文所探讨的系统采用的结构是浏览器-客户端,使用Java语
言,其中Web应用程序是采用三层架构的。身份认证过程包括以下内容:首先在登录系统时,要验证用户名和密码,成功通过后,要保存此用户的一些身份信息,进入统一登录界面,根据用户权限,用户可以访问相应的系统,并进行相关模块操作。整个统一身份认证系统是由服务访问者、服务响应者、网络服务中心、UDDI中心数据和用户管理组成的,详细如图1所示。
建立一种统一门户和统一身份认证系统及管理平台,将财务、教学、学生、后勤等应用系统集成到统一门户平台中,实现统一身份认证和单点登录,使用户登陆所有应用系统都使用唯一的用户名和口令并且访问多个系统时只需要登陆一次从而提供统一有效的用户管理。同时,在统一身份认证体系上保持外部应用系统用户数据和平台用户数据的同步,发挥统一身份认证系统良好的兼容性与易移植性。
中心数据库主要包括UDDI注册和存储过身份认证系统中全部用户信息两个部分,UDDI注册时,每个应用系统都分配了一个128位UUID,这个UUID是唯一的,因此这个UUID可以在用户定义关联账号或者使用统一身份认证服务进行应用系统访问的时候标识相应的应用系统。
存储到系统中的用户信息主要包括以下3种类型:第一,用户的详细注册信息,包括用户名、密码、身份证等其他基本信息;第二,
用户角色信息,包括是否管理员,哪个系统的管理员,权限如何等角色信息;第三,账号的关联信息,包括此账号是否在多个应用服务中有不同的权限属性等。服务访问者实际上可以理解为浏览器,因为用
户都是通过浏览器服务代理去访问相关的网络服务的。
网络服务中心首先是负责身份认证部分,然后还要处理服务访问者和服务响应者之间的消息交换同时也负责用户管理服务器和中心数据库之间的消息交换。用户管理模块在完成修改用户注册信息的基础上还应该能够实现用户角色的管理功能,包括设定修改和删除用
户的角色和相应权限。
1.2 系统的实现
本系统主要包括用户注册、用户认证和用户授权。
(1)用户注册:用户注册指用户在统一身份认证系统中注册时,由UDDI分配唯一标识符,通过该用户名和密码就可以正常访问统一身份认证系统中的各个应用系统。同时,也可以修改自己相关信息。
(2)用户认证和认证:首先用户使用在统一认证服务注册的用户名和密码(也可能是其他的授权信息,比如数字签名等)登陆统一认证服务,这个时候统一认证服务将会创建一个会话(session)同时该服务将会返回给用户一个与该会话关联的访问认证令牌。然后,用户就可以使用该认证令牌访问其中一个统一身份认证服务的应用系统,最后被访问的应用系统将令牌发给统一身份认证服务,确认此认证令
牌的有效性。
在这里本系统设计了访问认证令牌的失效的两个策略:一个是由用户主动发起声明的,主动表明其在应用系统中拥有的访问认证令牌失效,比如注销的操作;另一个是用户因为各种原因在规定的时间内并没有使用到由统一身份认证服务发送的认证令牌,这个时候规定了认证令牌自动失效,比如超时的处理。如图2所示。
2 数据库设计
本系统数据库设计主要包括两大部分,其一是统一身份认证服务的数据库,该数据库主要有USERINFO和ROLES两个表,此表的作用在于关联统一系统数据库中用户和各个应用系统数据库中用户,表USERINFO存储了在统一身份认证服务中注册的用户,其中USERINFO。
ID表示的是唯一标识符,能够把所有的用户的信息都集中保存,而USERINFO PASSWORD则是判断用户是否合法的途径之一,ROLES表中记录了对应用户能访问哪个应用系统的权限,两个表之间形成了对应关系,从而不同用户能够根据自己ROLES所定义的权限来访问各自的应用系统。
其二是应用系统的数据库,该数据库独立于统一身份认证系统,每次一个新的用户访问其应用系统时,在访问的同时,该用户相关信息就保存到该应用系统,同时,在统一身份认证系统数据库与应
用数据库之间成功建立关联。下次相同用户访问时需要检查ROLES 中定义的权限。
3 结束语
本系统主要实现了单点登录、用户管理、统一身份认证管理、授权管理等功能,从一定程度提高了系统管理效率,避免了大量重复开发。但是本文对认证服务的安全性和访问控制策略考虑得不够深刻,然而随着我国信息技术的高速发展,未来必将会对统一身份认证
系统提出更高的要求。
参考文献:
\[1\] 谭金府,宋安军,彭勤科,等.一个Web 环境下单点登录系统的研究与实现\[J\].现代电子技术,2007(6).
\[2\] 常潘,沈富可.基于LDAP 的校园网统一身份认证的实现\[J\].计算机工程,2007(3).
\[3\] 郑东曦.基于Web服务的统一身份认证服务的设计实现\[J\].
计算机工程与设计,2006(3).
\[4\] 李婕.数字校园中的身份认证方案研究\[D\].重庆:重庆大学,2008.
\[5\] 牛卫红,张一帆.统一身份认证方法的研究\[J\].通信论坛,2008(18).
\[6\] 东一舟.南师大统一身份认证平台\[R\].南京:2009教育网络
与信息安全会议,2009.
\[7\] SunJava System Access Manager Administration