IBM跨域认证简单解决方案

发布时间:2021-06-11

跨域认证,意味着用户在一个入口登录后可以无障碍的漫游到其它信任域。也就是所谓的单点登录(SSO)。对于大型的服务提供着,常用的方法有:使用安全断言标记语言(SAML)、基于公开密钥技术(PKI-Pubic Key Infrastructure)的Kerberos网络认证协议 或者使用Windows采用的认证方案LanManager认证(称为LM协议-对于NT 安装Service Pack4以后采用NTLM v2版本)。这些认证方式需要单独的认证服务器,对于普通的使用者来说,既难已

跨域认证简单解决方案-使用第三方Cookie

概述

跨域认证,意味着用户在一个入口登录后可以无障碍的漫游到其它信任域。也就是所谓的单点登录(SSO)。 对于大型的服务提供着,常用的方法有:使用安全断言标记语言(SAML)、基于公开密钥技术(PKI-Pubic Key Infrastructure)的Kerberos网络认证协议 或者使用Windows采用的认证方案LanManager认证(称为LM协议-对于NT 安装Service Pack4以后采用NTLM v2版本)。这些认证方式需要单独的认证服务器,对于普通的使用者来说,既难 已实现,也不太可能搭建单独的服务器。有没有一种简单又安全的认证方式呢?

本文的目标

使用Cookie和SHA1结合实现简单又安全的认证,如用户在中登录后,无需再次登录就可以 直接使用中提供的服务。

Cookie是什么

Cookie 是由 Web 站点创建的小文本文件,存储在您的计算机上。这样,当您下一次访问该站点时,它可以 自动获取有关您的信息,例如浏览喜好,或您的姓名、地址及电话号码。

关键词

SSO(Single Sign-On)-单点登录

SAML(Security Assertions Markup Language)-安全断言标记语言

Cross-Realm Authentication -跨域认证

PKI(Pubic Key Infrastructure)-公开密钥技术

SHA1(Secure Hash Algorithm 1)-安全哈希算法 1

P3P(The Platform for Privacy Preferences)隐私参数选择平台

单一认证模型

1、用户使用a_logon.aspx登录服务器

2、在a_logon.aspx中自动嵌入iframe其src指向的b_auth.php

3、认证成功后在客户端写入Cookie,通过iframe调用b_auth.php 传递认证参数(经过SHA1后)

4、b_auth.php认证成功后在客户端写入认证Cookie

5、完成和的统一认证

问题:

上面提到的过程如果使用FireFox浏览器b_auth.php能够成功写入Cookie,如果使用IE6.0及 以上版本b_auth.php写入Cookie失败。

原因:

IE 6.0支持P3P,IE 6的缺省隐私等级设置为"中"——即"阻止没有合同隐私策略的第三方

cookie"。而在用户浏览a_logon.aspx时 写入的为第一方Cookie,其嵌入的iframe指向b_auth.php

这时写入的就为第三方Cookie了,所以它是被IE当在了大门外。

解决方法:

让用户改变IE安全策略,允许第三方Cookie,这似乎很简单,可是用户会听你的吗?另一种

解决方法使用P3P,在 b_auth.php中添加P3P头。网上google一下好像很多,本着不求甚解的原则 Copy来就是了。如下:

header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"')

实现代码

IBM跨域认证简单解决方案.doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219