论文部分内容阅读
摘 要:本文对单点登录(SSO)的概念作了简单的阐述,对其技术实现机制做了通俗易懂的说明,最后给出了单点登录实现的方式。
关键词:单点登录
中图分类号:TP393.08 文献标识码:A 文章编号:1007-9599 (2013) 04-0000-02
大型企业内部,一般都包含了很多应用系统为其提供管理支持。比如财务系统、人事系统、办公系统、生产系统以及库存系统等等。这些系统往往不是同一时期建立起来的,而且可能运行在不同的平台上。统计显示一个大型企业的内部业务系统会多达60个以上,这些系统使用的操作系统、数据库等都不相同。随着企业的发展,业务不断增加,新业务和老业务之间的关联越来越密切,替换老的系统会带来管理和维护上的大量开销。为降低管理难度,保护已有投资,很多企业进行着企业应用集成,特别是“身份认证”的整合,也就是“单点登录”。
1 单点登录概念
单点登录(Single Sign On),简称为SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
2 技术实现机制
单点登录的机制是比较简单的,举个例子就能说明问题。目前很多景点都有单独的门票,但是景区为了方便游客都会发行一种叫套票的门票,凭套票可以游览各个景点而不需要去每个景点排队买票,这个套票就相当于单点登录。
用户第一次登陆系统的时候会被引导到一个认证系统进行身份验证,系统会验证用户提交的身份信息,然后返回一个ticket给用户,用户需要访问其他系统的时候,只要将这个ticket交给该系统,该系统会将ticket提交给认证系统进行验证,验证通过后用户就可以访问该系统了。
3 WEB-SSO实现
如今,互联网带给大家的不仅仅是交流的便利,他已经渗透到了我们工作生活的方方面面,基于互联网的应用正在不断刷新人们对以往单机时代对软件的认识,因此基于web的单点登录系统也是最受大家欢迎的,这种系统的简称是WEB-SSO。WEB-SSO的特点是实现起来比较简单。业内软件开发商和开源开发人员都开始了对WEB-SSO提供支持,OpenSSO是其中的代表,它是基于JAVA平台的架构手册和服务手册,给用户提供了实现WEB-SSO的实现方法。
互联网使用最多的协议是HTTP协议,而这个协议是无状态的。一个互联网应用会有很多WEB页面,而每个页面都是通过URL来定位的。当用户在IE中输入URL时,IE会向WEB服务器发送请求。如下图,IE向服务器发送了两个页面请求,这两个请求会打开两个单独的HTTP连接。IE和服务器会在一个请求完成后自动关闭连接,而为下一个请求来到时打开新的连接,这有就是所谓的无状态协议。Web服务器并不区分哪个请求来自哪个客户端,对所有的请求都一视同仁,都是单独的连接。这样的方式大大区别于传统的(Client/Server)C/S结构,在那样的应用中,客户端和服务器端会建立一个长时间的专用的连接通道。正是因为有了无状态的特性,每个连接资源能够很快被其他客户端所重用,一台Web服务器才能够同时服务于成千上万的客户端。
但是我们通常的应用是有状态的。先不用提不同应用之间的SSO,在同一个应用中也需要保存用户的登录身份信息。例如用户在访问页面1的时候进行了登录,但是刚才也提到,客户端的每个请求都是单独的连接,当客户再次访问页面2的时候,如何才能告诉Web服务器,客户刚才已经登录过了呢?IE和服务器之间有约定:通过使用cookie技术来维护应用的状态。Cookie是可以被Web服务器设置的字符串,并且可以保存在IE中。如下图所示,当IE访问了页面1时,web服务器设置了一个cookie,并将这个cookie和页面1一起返回给IE,IE接到cookie之后,就会保存起来,在它访问页面2的时候会把这个cookie也带上,Web服务器接到请求时也能读出cookie的值,根据cookie值的内容就可以判断和恢复一些用户的信息状态。
Web-SSO完全可以利用Cookie结束来完成用户登录信息的保存,将IE中的Cookie和上文中的Ticket结合起来,完成SSO的功能。
参考文献:
[1]王贤鸣.基于PKI技术构建企业统一认证平台研究.复旦大学,2009.
[2]冯伟成.金坛市电子政务系统的研究与开发.江苏大学,2007.
[3]胡轶.网络教学系统面向服务架构的迁移研究与实现.北京邮电大学,2008.
[4]阮富春.基于J2EE的自考WEB应用服务器的设计与实现.电子科技大学,2007.
[作者简介]赵亮(1983-),男,江西南昌人,讲师,江西外语外贸职业学院,电子商务网络。
关键词:单点登录
中图分类号:TP393.08 文献标识码:A 文章编号:1007-9599 (2013) 04-0000-02
大型企业内部,一般都包含了很多应用系统为其提供管理支持。比如财务系统、人事系统、办公系统、生产系统以及库存系统等等。这些系统往往不是同一时期建立起来的,而且可能运行在不同的平台上。统计显示一个大型企业的内部业务系统会多达60个以上,这些系统使用的操作系统、数据库等都不相同。随着企业的发展,业务不断增加,新业务和老业务之间的关联越来越密切,替换老的系统会带来管理和维护上的大量开销。为降低管理难度,保护已有投资,很多企业进行着企业应用集成,特别是“身份认证”的整合,也就是“单点登录”。
1 单点登录概念
单点登录(Single Sign On),简称为SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
2 技术实现机制
单点登录的机制是比较简单的,举个例子就能说明问题。目前很多景点都有单独的门票,但是景区为了方便游客都会发行一种叫套票的门票,凭套票可以游览各个景点而不需要去每个景点排队买票,这个套票就相当于单点登录。
用户第一次登陆系统的时候会被引导到一个认证系统进行身份验证,系统会验证用户提交的身份信息,然后返回一个ticket给用户,用户需要访问其他系统的时候,只要将这个ticket交给该系统,该系统会将ticket提交给认证系统进行验证,验证通过后用户就可以访问该系统了。
3 WEB-SSO实现
如今,互联网带给大家的不仅仅是交流的便利,他已经渗透到了我们工作生活的方方面面,基于互联网的应用正在不断刷新人们对以往单机时代对软件的认识,因此基于web的单点登录系统也是最受大家欢迎的,这种系统的简称是WEB-SSO。WEB-SSO的特点是实现起来比较简单。业内软件开发商和开源开发人员都开始了对WEB-SSO提供支持,OpenSSO是其中的代表,它是基于JAVA平台的架构手册和服务手册,给用户提供了实现WEB-SSO的实现方法。
互联网使用最多的协议是HTTP协议,而这个协议是无状态的。一个互联网应用会有很多WEB页面,而每个页面都是通过URL来定位的。当用户在IE中输入URL时,IE会向WEB服务器发送请求。如下图,IE向服务器发送了两个页面请求,这两个请求会打开两个单独的HTTP连接。IE和服务器会在一个请求完成后自动关闭连接,而为下一个请求来到时打开新的连接,这有就是所谓的无状态协议。Web服务器并不区分哪个请求来自哪个客户端,对所有的请求都一视同仁,都是单独的连接。这样的方式大大区别于传统的(Client/Server)C/S结构,在那样的应用中,客户端和服务器端会建立一个长时间的专用的连接通道。正是因为有了无状态的特性,每个连接资源能够很快被其他客户端所重用,一台Web服务器才能够同时服务于成千上万的客户端。
但是我们通常的应用是有状态的。先不用提不同应用之间的SSO,在同一个应用中也需要保存用户的登录身份信息。例如用户在访问页面1的时候进行了登录,但是刚才也提到,客户端的每个请求都是单独的连接,当客户再次访问页面2的时候,如何才能告诉Web服务器,客户刚才已经登录过了呢?IE和服务器之间有约定:通过使用cookie技术来维护应用的状态。Cookie是可以被Web服务器设置的字符串,并且可以保存在IE中。如下图所示,当IE访问了页面1时,web服务器设置了一个cookie,并将这个cookie和页面1一起返回给IE,IE接到cookie之后,就会保存起来,在它访问页面2的时候会把这个cookie也带上,Web服务器接到请求时也能读出cookie的值,根据cookie值的内容就可以判断和恢复一些用户的信息状态。
Web-SSO完全可以利用Cookie结束来完成用户登录信息的保存,将IE中的Cookie和上文中的Ticket结合起来,完成SSO的功能。
参考文献:
[1]王贤鸣.基于PKI技术构建企业统一认证平台研究.复旦大学,2009.
[2]冯伟成.金坛市电子政务系统的研究与开发.江苏大学,2007.
[3]胡轶.网络教学系统面向服务架构的迁移研究与实现.北京邮电大学,2008.
[4]阮富春.基于J2EE的自考WEB应用服务器的设计与实现.电子科技大学,2007.
[作者简介]赵亮(1983-),男,江西南昌人,讲师,江西外语外贸职业学院,电子商务网络。