网站大量收购独家精品文档,联系QQ:2885784924

基于二级域名下Cookie共享的SSO.docxVIP

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

网上已经有很多基于二级域名下Cookie共享的SSO的解决方案,对于原理大家可能都很了解,无非就是登录一个系统,产生一个令牌保存到Client端的cookie中,这个cookie是基于主域名的,然后再登录其它二级域名下的系统,就会直接读取主域名下的Cookie中的令牌,不要重新登录,方面用户使用多个系统。正好做到的项目中用到这个SSO登录验证,自己调试中遇到一些问题,以及解决方案,跟大家分享一下。?我的项目中有两个系统,域名分别是A.,B.(举例),是一级域名,A.B.是二级域名。任务是要做到在A登录后可以直接进入B系统,B系统会验证Cookie的令牌信息,正确的令牌才允许访问进入系统。A系统访问路径是http://A./x,B系统的访问路径是http://B./y。?好了,下面开始说明一下我的解决历程:?1.编码?? 在A系统登录成功后写入Cookie? ....? Cookie cookie=new Cookie(token,令牌信息);//关于令牌名称可以约定一个,到时B系统会根据这个名称去获取令牌信息,信息令牌是加密处理r后的字符串,如何加密这里不再赘述。?....? cookie.setDomain();//是基于一级域名的? cookie.setMaxAge(1800);//设定Cookie的有效期? response.addCookie(cookie);? ....?2.测试检查通过http://A./x访问后,Cookie目录出现一个administrator@[1]的Cookie文件,查看IE缓存目录,有一条名为x/的记录,internet地址为Cookie:administrator@/x,系统缓存目录地址C:/Documents and Settings/administrator/Local Settings/Temporary Internet Files,我的是XP系统,Cookie目录地址C:/Documents and Settings/administrator/Cookies。?通过http://B./y访问后,根据读取不到这个Cookie,为了测试方便,我在Y/下的index.jsp中,写了一段代码,就是往Cookie中写一些信息,看它会保存到哪个cookie文件中,测试后发现在Cookie目录会生成一个administrator@[2]的文件,然后再IE缓存有一条名y/的记录,internet地址为Cookie:administrator@/y,反复访问刷新后,A和B的Cookie总会不一样,文件名分别在[1],[2]之间变换,反正就不会是一个文件。?3.反复分析?比较Cookie和缓存中文件,发现就是xy不一至,于是动手把A下的x系统和B下的y系统的webapp name都改成统一的,再试,成功了!两个系统可以合并到一个Cookie中了。?4.总结要想在两个二级域名下共享Cookie,第一,设定的cookie要设定setDomain(一级域名);第二,访问的两个系统的webapp name一至。如果两个系统直接是基于域名跑的,http://A.,http://B.,就没有后面那个修改webapp name的问题了,只要确保写Cookie时,setDomain(一级域名),这里是。

文档评论(0)

178****9325 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档