[cookie共享] -- php单点登录SSO
来源:互联网 发布:20 linux xen 编辑:程序博客网 时间:2024/05/16 12:33
原文地址 : http://blog.csdn.net/ms_x0828/article/details/7662066
原理是在任意一个域名下登录以后,登录系统使用获得的用户登录数据分别去请求其他的域的登录接口(具体应用的时候可以通过iframe等方式隐藏的向其他域提交),相应接口返回对应域的cookies信息,这样当用户访问站群内其他站点的时候,因已经提前获取了认证cookies因此实现了单点登录
比如sohu的单点登录系统就是采用的此方法,当用户在sohu旗下的任意网站登录时,首先统一登录到域passport.sohu.com下,登录成功后再使用iframe去请求其域下的passport.sohu.com/sso/crossdomain_all.jsp?action=login文件,此文件里面是一些js的文件请求,同样是请求passport.sohu.com域下文件,而此文件会读取cookies信息,并附加其身份信息重定向到其他的域上,其他的域根据附加过来的信息写cookies,实现多域的单点登录。退出的时候也是同样的机制。虽然原理简单,但涉及到了浏览器的隐私机制,ie需要设置特殊的文件头才可以正常设置跨域的cookies信息,详情可以看下设置P3P头实现跨域访问COOKIE,具体就是在重定向后的url页面设置cookies的时候,首先输出:
下面我来看看代码实现过程:
Success.PHP代码如下:
Croeedomain_all.php代码如下:
Crossdomain.php代码如下:
58gou站点的setcookie.php代码如下:
其实在crossdomain_all.php中的就可以直接向你要发送的站点去设置cookie信息了,我这边只是将JavaScript和iframe弄到了一起呵呵
跨域设置cookie设置cookie的时候可以分别用到iframe和javascript两种形式来实行
- [cookie共享] -- php单点登录SSO
- php单点登录SSO
- 单点登录 共享COOKIE
- sso单点登录PHP实现
- 单点登录SSO-使用session共享方式
- 基于PHP的sso单点登录实例
- php的sso单点登录实现方法
- php的sso单点登录实现方法
- SSO单点登录PHP简单版
- SSO单点登录PHP简单版
- php实现SSO单点登录实例
- 基于Cookie的单点登录(SSO)系统介绍
- 跨域名sso单点登录、利用p3p实现cookie跨域
- 单点登录SSO(cookie和ticket)实现
- 【No.1】基于Cookie的单点登录(SSO)
- Java基于Cookie的单点登录(SSO)实现
- Session、Cookie理解及SSO(单点登录--cas)
- sso单点登录系统(解决session共享)
- FE
- MySQL之查询
- ng-show,ng-hide,ng-if指令
- UNIX TIMESTAMP 与 TIME 之间的转换
- rror C2248: “std::basic_ios<_Elem,_Traits>::basic_ios”: 无法访问 private 成员(在“std::basic_ios<_Elem,_Trai
- [cookie共享] -- php单点登录SSO
- ng-src指令
- 【Python】学习笔记——-7.4、获取对象信息
- 机器学习中的维数灾难
- IE8- bind() 函数兼容
- 《毕业生》
- ng-switch指令
- React-native 遇到问题总结
- config.gradle