利用P3P远程跨域保存cookie实现SSO单点登录功能
来源:互联网 发布:淘宝买家秀 情趣福利 编辑:程序博客网 时间:2024/06/01 17:05
实现原理:
子站1登录后,发送信息给主站服务器,服务器再返回给子站1其他子站的cookie保存接口。
实现方式:
1,子站1登录后,使用隐藏的<iframe> 内嵌框架,其scr为主站服务器的通知接口。
2,主站收到子站的通知信息后,返回给子站1,其他各个站点的cookie保存接口,返回为<script scr="xxx"></script>
xxx为接口地址,参数传递使用get方式
3,最主要的就是子站远程跨域保存cookie。这里使用P3P方式
示例为
header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"');setcookie('uc_uid',$uid,time()+60, "/", "admin1.rockhippo.com");
其中 “admin1.rockhippo.com” 为当前子站的域名。
ps:有一个重点需要了解的就是,其中有2个请求,一个是请求给主站服务器,还有一个就是服务器返回回来,向各个子站的请求,都必须在页面上完成。
最后,给出实现上主要的代码片段
登陆后成功后使用:
$url= 'http://www.rhpuc.uc'.$this->notice.'?uid='.$uid;echo '<iframe id="crossdomain" width="0" height="0" style="visibility:hidden;" src="'.$url.'" ></iframe>';
服务器主站的接收接口:
$ix = new PUc_IndexModel();$result = $ix->UcList('');foreach ($result['allrow'] as $key=>$val){$url = $val['weburl'];$url.= '/hpuc/index.php?uid='.$uid.'&appid='.$val['appid'].'&token='.$val['token'].'&action=s_cookie';echo "<script src='$url'></script>";}
这部分主要是读取其他站点的地址,然后echo出各个站点的cookie保存地址
cookie保存部分的代码上面示例已经给出不再重复了。
0 0
- 利用P3P远程跨域保存cookie实现SSO单点登录功能
- 跨域名sso单点登录、利用p3p实现cookie跨域
- 利用P3P实现跨域设置cookie
- 利用cookie的跨域单点登录的简单实现
- php利用P3P头实现跨域设置cookie
- SSO 跨域单点登录
- 利用p3p跨域传递COOKIE
- 利用P3P实现跨域
- 单点登录SSO(cookie和ticket)实现
- Java基于Cookie的单点登录(SSO)实现
- 单点登录SSO(同域实现)
- SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析
- SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析
- SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析
- SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析
- SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析
- SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析
- SSO单点登录、ajax跨域重定向、跨域设置Cookie、京东单点登录实例分析
- php读取目录所有文件信息实现代码
- PPP认证之pap
- 北京警方:李代沫吸毒属实已被抓获
- ubuntu下android源码的下载
- NSTableView系列之代码创建
- 利用P3P远程跨域保存cookie实现SSO单点登录功能
- PHP读取文件内容后清空文件的代码
- android listview适配器里区分不同按钮的点击事件
- 30天快速上手 TDD Day 7 - Unit Test - Stub, Mock, Fake 簡介
- 判断一个正整数是否为质数的算法
- RESTful Request:GET/PUT/DELETE/POST/HEAD/OPTIONS【转】
- xilinx PowerPC 中断
- 页面接收action 参数 编码问题
- 多张SD卡,进行读取