1、多个信息化系统单点登录设计与实现【摘要】 随着信息化系统的大量应用,单位内部都出现了多个系统同时在用的现状,员工迫切需要只登录一次就可进入各个系统,单点登录系统应运而生,从信息系统的实质来讨论单点登录及实现方式。 【关键词】信息系统;单点登录 单点登录(Single Sign On) ,简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 市场上有众多的单点登录系统,从收费上分有收费和开源二类,从技术上分 CS、BS 系统,从编程语言上分有Java、.NET、ASP、Delphi、PD、Flex、HT
2、ML、CSS、JavaScript、VBScript、JSP 等。 单点登录基础功能包括二方面,一个是登录,一个是选择子系统。单点登录示例如图所示: 单点登录示例系统功能说明: (1)单点登录系统主要功能是将用户的登录信息和用户信息库相比较,对用户进行登录认证;认证成功后,单点登录系统应该生成统一的认证标志(ticket) ,返还给用户。 (2)用户选择某个子系统后,由系统自动将认证标志(ticket)和用户选择的子系统信息提交到认证系统,由单点登录系统负责验证,验证通过后,并根据维护的用户对照信息生成子系统登录接口,然后通过接口自动转入子系统。 1 单点登录技术基础 单点登录实质就是维护本系
3、统用户与各个独立系统内用户的映射关系表,系统根据映射关系表和各个独立系统的登录接口 API 生成相应的登录命令,然后用登录命令完成登录,并向用户返回登录后的独立系统界面及数据。 各类单点登录系统在此基础上,引入安全管理和各种接口 API。保证本系统的用户安全,通过各种接口 API 模版满足不同类型独立系统的接口要求,方便终端用户使用。 单点登录系统的安全管理包括自身用户信息的安全管理和各独立系统登录接口的安全二方面,通过对登录数据进行加密传输和加密存储可以达到安全要求。在用户方面可以通过采用 USBKEY 进一步提升用户的安全性要求,避免知道用户名通过技术手段破解密码的风险。 单点登录系统与各
4、种独立系统的接口方案有二大类:一个是由单点登录系统完成各种独立系统的模拟登录,不用对各种独立系统进行登录部分重编程,方便宜用;另一类就是需要对独立系统进行重新编写程序,以达到可以使用单点登录系统的统一的认证标志(ticket) ,当发现没有统一的认证标志(ticket)时,就转入登录过程,否则直接进入系统。 2 系统功能设计 最近给某设计院做了一套简单的单点登录系统,用于实现他们院 5个 BS 系统的统一身份认证,系统实现登录一次后,进入其它的系统就不用输入用户名密码了,设计院用户采用 USBKEY 方式登录。 由于 5 个不同的应用系统由不同的软件公司开发,因而不可能将所有系统的用户账号都统
5、一成一个,设计院单点登录机制针对这种情况,设计了用户的身份对应关系表。用户只需要把自己在不同系统中的名字和密码保存到单点登录的身份对应表中,系统就可以把这些名字统一在一起。单点登录系统同时要维护 5 个系统的登录接口表,可以动态维护5 个系统的登录接口。系统在登录某个系统时,只要将对应系统的用户信息和接口信息组合成登录命令,实现自动登录。 情景举例说明: 例如:姓名为“张红”的用户是“zhanghong” ,密码为“zhe$rt” ,在协同办公 OA 的帐号是“zhangh” ,密码是“z1972” ,在门 窗设计系统的帐号是“bg_zhh” ,密码是“z1895”。张红可以在“单点登录系统”配置页面中把自己在各应用系统中的用户名和密码与登录系统的用户名捆绑在一起。 然后,张红可以用 USBKEY 登录单点登录系统,然后通过登录系统就可以直接访问其它系统,他甚至不必再记其它系统的帐号。 3 结论 设计院单点登录系统运行半年来,用户反馈情况表明,系统达到设计目的,运行稳定,安全可靠,大幅提高了用户使用方便性,降低了系统管理员的操作复杂度。 参考文献: 1Bruce Eckel.Thinking in Java(Third Edition)M.机械工业出版社,2004 2钱雪忠,甸海驰,陈国俊.数据库原理及技术课程设计M.清华大学出版社,2009