- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
兼容移动设备SSO系统设计与实现
兼容移动设备SSO系统设计与实现 一、什么是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的过期时间一致。虽然第二种方案在一定程度上提高了缓
文档评论(0)