兼容移动设备的SSO系统的设计与实现

来源 :网络导报·在线教育 | 被引量 : 0次 | 上传用户:ploveye999
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  一、什么是SSO
  SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。
  为了降低管理的消耗,最大限度的重用已有投资的系统,很多企业都在进行着企业应用集成。企业应用集成可以在不同层面上进行:例如在数据存储层面上的“数据大集中”,在传输层面上的“通用数据交换平台”,在应用层面上的“业务流程整合”,和用户界面上的“通用企業门户”等等。事实上,还用一个层面上的集成变得越来越重要,那就是“身份认证”的整合,也就是“单点登录”。使用单点登录整合后,只需要登录一次就可以进入多个系统,而不需要重新登录,这不仅仅带来了更好的用户体验,更重要的是降低了安全的风险和管理的消耗。
  二、SSO的选型与实现
  软件系统要实现单点登录,通常不建议使用session会话,以减轻服务端维护session的成本。可以选择使用cookie结合浏览器缓存来维护会话,实现单点登录。但是如果系统存在移动设备客户端,就不能使用cookie,那么使用cookie结合浏览器缓存的方案似乎无法得到解决,而移动设备客户端中又存在两个应用:纯文字的简版和3G多媒体版,进一步讨论之后,决定移动设备之间与WEB之间不同步登录状态。但是移动设备端的各个应用要进行登录状态同步。
  基于以上思路,确定初步的方案,即在WEB客户端使用cookie结合浏览器缓存,在移动设备客户端依然使用session会话结合缓冲存储区来实现单点登录,无论是 WEB客户端或者移动设备客户端,都调用后台发布的服务,本身并不直接连接数据库,后台服务组集群管理集中式的缓存,各个客户端维护自身的缓存。
  1.缓存组件的选择
  由于存在WEB端与移动设备端,应用都在集群环境中,所以使用一个好的分布式缓存似乎也是项目稳定性的关键,Java的集群平台Terracotta与Java的进程内缓存框架ehcache是个不错的选择,由于hibernate官方推荐的第三方缓存组件是ehcache,如果服务端已经使用了ehcache作为hibernate缓存组件,再对系统进行分布式缓存集成Trracotta,那就显得非常的简单。但如果是开发新的项目,而使用集中式缓存管理策略对分布式缓存的效率和缓存服务器扩展有一定的好处,于是决定采用高性能的分布式的内存对象缓存系统memcache进行缓存服务器的搭建。
  2.会话维护与过期所存在的问题
  使用session登录会比较简单,服务器端可以设置session的过期时间。而使用cookie设置过期时间,浏览器会将cookie数据写入硬盘上保存,这时即使用户关闭浏览器,cookie文件还未到过期时间还是保存在硬盘上,这就存在一些不安全的隐患,但是如果设置cookie的过期时间为一个小于0的数值,则cookie保存在客户端的内存中,这样,用户只要不关闭浏览器,cookie就不会失效,也会存在一些安全隐患。
  用户会话的缓存信息也将会有问题。由于缓存在创建的时候就会有一个创建时间,创建之后,根据配置的缓存策略来管理缓存元素。缓存一旦创建,只要到了配置的过期时间,就一定会销毁缓存元素,这样,客户端的会话即使依然真实存在,也无法通过缓存来获取用户的数据,用户的登录状态也将消失。
  3.会话维护与过期存在问题的解决方案
  使用cookie进行会话的维护,为了使得cookie的信息尽量的保密和安全,需要对cookie进行加密,而由于cookie的会话的设计依然存在一些问题,所以使用另外一种方案对cookie进行设计,用户登录时,生成一个名为SSO_LOGIN的cookie,此cookie保存三个信息,用户名|生成时间|加密数据。用户登录时,将用户名、生成时间和密钥组合并进行MD5加密,然后将用户名、生成时间和MD5的加密数据连起来作为cookie的值写入客户端,并将cookie的过期值设置为负数(关闭浏览器失效),通过后台发布的服务将用户信息写入中心缓存中,这样,用户每进行一次请求,都直接从中心缓存中获取用户信息。当用户客户端的cookie失效时,让用户进入登录流程;当中心缓存中无用户信息时,也让用户进入登录流程。这样就必须保证用户在活动期间,中心缓存中的用户信息不能过期,有两种解决方案,一是设置缓存策略时间较长,如果用户数比较多,无疑会较大程度的提高服务器管理缓存所花的成本。第二种方案,用户每获取一次信息,则更新一次缓存,将用户信息的缓存策略的过期时间设置和cookie的过期时间一致。虽然第二种方案在一定程度上提高了缓存管理的成本,但是综合性能方面第二种比第一种有优势。
  三、总结
  通过以上的分析,可以总结出来整个单点登录的过程:WEB客户端,用户登录时,生成 cookie和中心缓存,用户每进行一次请求,首先取出cookie,验证加密数据;其次取出cookie的生成时间与现在的时间进行对比,验证是否过期;再次,若验证通过则调用服务获取缓存中的用户信息并刷新缓存的生成时间,若验证不通过或者过期,则进入用户登录流程;最后,获取到用户信息之后,刷新 cookie的生成时间,重新写入cookie到客户端。这样只要用户的浏览器中存在相关的cookie并没有过期(用户关闭浏览器或者在超过设置 cookie的有效期),则在该域名的路径下面所有的项目都可以获取到用户登录状态和信息。
  而移动设备端的SSO登录将变得更为简单,用户登录之后,获取服务器分配给用户浏览器的sessionID,将sessionID作为KEY值,用户信息作为VALUE值生成中心缓存,这样用户访问该域名下的所有的应用,只要使用的是同一个浏览器(sessionID无变化),并且在session的有效期内,都可以获取用户信息,同步登录信息,实现单点登录。
  参考文献:
  [1]胡毅时.基于Web服务的单点登录系统的研究与实现.北京航空航天大学学报 ,2004,3
  [2]孔宁.Internet上的单点登录研究.CNNIC通讯,2005,26
  (注:河北工业职业技术学院资助科研项目)
其他文献
近年来,高职法学教育已成为我国法学教育体系中不可缺少的重要组成部分,在我国法学人才培养结构中发挥着重要的基础作用。然而我国的高职法学教育也存在着办学思路不清晰、专业设置重复、专业特色优势不明显、人才培养模式不能适应满足社会需求、法科毕业生就业难等问题。对此如果不给予高度重视并做出及时调整,不但会影响法学教育的发展,还会影响中国法制的进程。  一、明确职教理念、学校找准定位、政府大力支持  在人才市
期刊
职业中学培养目标是培养熟练的专业技术员,使其具有相应专业的较好的专业基础知识和较强的专业实践技能。所以,针对计算机的专业特点,职业中学的学生学习计算机必须注意以下几个问题。   一、要走出思想误区   职业中学的学生要想真正学好计算机,必须扎实掌握基本功,不能好高骛远。职业中学的学生起点是初中基础,如果单纯追求高水平的微机知识只能是事倍功半。计算机软件的更新速度如此之快,它的使用周期最多是几年,学
期刊
房产测绘是城市规划建设的重要参考做好城市的规划建设和管理,就必须了解城市建设的历史、现状以及房屋的分布、结构、数量、用途等,而房產测绘的成果不仅有房产图,还有房产属性信息和空间数据信息。  一、前言  随着计算机技术的飞速发展,基于局域网环境下的房产管理信息系统(MIS)已经取代了单用户MIS系统。日趋成熟的地理信息系统技术为房产管理提出了一个崭新的管理理念。它不是单纯意义上的房产测绘技术在房产管
期刊
数学中培养学生创新能力必须依靠课堂中潜移默化的熏陶方法,让学生在不断经历的学习过程中,感悟到创新思维的能力。我认为在课堂教学中可以以下几个方面着力培养学生的思维和创新能力。  一、建立新型的师生关系  教师在教学活动中是教学活动的组织者、指导者和参与者。在教学过程中教师可以用商量的口气和学生进行交谈,如:“谁想说说……”、“谁愿意说说……”等这样师生关系更加平等、更加融洽。另外,教师还应关怀、尊重
期刊
随着社会的发展,知识更新越来越快,掌握知识的多少固然重要,而如何掌握知识其方法才是至关重要的。过去在应试教育的影响下,数学的教学方式是从知识引入、例题、示范、讲解、练习为主。这种模式下的教学,学生的学历方式单一、被动,缺乏合作性和挑战性。而数学学习过程充满着观察、实验、模拟、推断等探索性与挑战性的活动,这就要求教师改变教学模式,转变学生的学习方式,引导学生积极的投入到探索与合作的学习活动之中。  
期刊
在新的形势下,掌握现代多媒体技术,并正确合理地运用到课堂教学中,这是信息时代的要求,也是创新教育的要求。但是如何能有效的运用信息技术,进行富有成效的小学数学教学创新实践呢?本文就信息技术如何在小学数学课堂教学中有效地运用作一些初步的探讨。  一、创设问题情境,激发求知欲  小学生好奇心强,要想不断地启发学生的求知欲,只有通过创设问题情境。在课堂教学中,教师是课堂教学活动的策划者、组织者和指导者,如
期刊
随着教育改革的不断深入,素质教育的呼声越来越高,各学校也开始注重对学生德、智、体、美各方面的培养。但是,人们在重视学生素质全面发展的同时,往往忽视了他们的心理健康。教育部在《关于加强中小学生心理健康教育若干意见》中明确的定义了心理健康的内涵:“中小学生心理健康教育是根据中小学生生理、心理发展特点,运用有关心理教育方法和手段,培养学生良好的心理素质,促进学生身心全面和谐发展和素质全面提高的教育活动,
期刊
房产测绘一直是社会关注的热点和难点问题,其中以房屋面积测绘尤为突出。由于房产测绘自身的特点,它具有一定的风险,在许多中小城市更是如此,我们必须对此加以防范和控制。  一、房产测绘风险产生的原因  房产测绘是三项法定测绘之一,其成果一经相关部门确认即具有法律效力。房屋面积测绘是房产测绘中一个重要组成部分,它有两个方面的特征:其一,具备一般意义上的测量含义,即用标准量去衡量客观量,描述客观对象的空间关
期刊
改革开放以来,我国的科技业、工农业、 交通业、 贸易业、文化教育业、旅游业等方面都有了长足的发展,城市的规模、数量和面貌正在发生日新月异的变化,人们的物质文化生活也得到了明显的改善,在一片兴旺发达的景象时期,园林城市也就油然而生了。  一、城市园林化的含义  园林城市是在中国传统园林和现代园林的基础上,紧密结合城市发展,适应城市需要,顺应当代人的需要,以整个城市辖区为载体,以实现整个城市辖区的园林
期刊
“心理解剖”是相对于“尸体解剖”的概念而言,通过与死者联系密切的人员进行访谈来分析自杀原因,对于大学生自杀个案的分析具有重要的启示作用,应该引起高校相关工作人员的重视。  一、当代大学生心理健康状况  了解当代大学生心理健康状况,分析影响当前大学生心理危机发生的普遍性原因,主要有以下几个方面:  (一)精神疾患  由于精神疾病原因导致的自杀约占全部自杀的30%-50%。其中,抑郁症是自杀现象产生的
期刊