`
javababy1
  • 浏览: 1170799 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

简单的SSO方案 COOKIE实现

阅读更多

SSO是单点登录的意思.我相信各位都应该知道使用SSO有什么好处.那废话就不多说了.直接来说一下我的思路吧.

我的思路是采用COOKIE来实现,(COOKIE的有一定的限制性,暂不评论).如果采用COOKIE的话,那首要解决的即是COOKIE的跨域问题.可关键是我们无法操作不同域的COOKIE.如果真能操作的话,那就也没有安全性可言了.只能曲线救国了.那么我们可在登录一个网站的时候,主动的要求其他的网站发出其COOKIE. 画了个图,大家看一下

在第三步时,即使用动态追加脚本块,或使用IMG对象来实现向另一个网站请求,使该网站有机会能写入自己的COOKIE.

脚本块的话,如下

var s=document.createElement("script");
s.src="http://www.site2.com/a.aspx";
document.getElementsByTagName( "HEAD")[0].appendChild(s);

如使用img 则更简单<img src='http://www.site2.com/a.aspx'>

在a.aspx中我们则可以写回相应的COOKIE,以便以后访问时,能读取到相应的COOKIE.

在认证服务器上,不仅是认证工作,同样还要维护相应的联盟成员站点的信息.

这个方案相对来说比较的简单,安全方面暂无考虑.当然我想在内网使用这种方案的话,还是可性的,只要做少量的预防性工作即可.同时对于原有应用的改动量也不是很大.

实验代码下载,http://p.blog.csdn.net/images/p_blog_csdn_net/greystar/EntryImages/20080807/SSO2.rar.jpg

下载后请将改一下文件名.本来是rar的,找不到上传文件的地方,就改了一下后缀名.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics