这是一个简单版的php单点登录概述,如果需要实现复杂的需自己,编写复杂的ticket加解密算法。

先看张图。

sso系统,http://sso.yxh.com

1
2
3
4
5
<?php
    echo "sso站点";
    setcookie("site""sso", time() + 1000);//sso.yxh.com自己可以看到
    setcookie("ticket", md5("ticket"), time() + 1000, "/""yxh.com");//*.yangbai.com都可以看到
?>

a系统:http://a.yxh.com

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
/**
 * 1、当用户访问a系统时。
 * 2、先行判断$_COOKIE['ticket']是否存在。
 * 3、如果不存在或者ticket不正确(注:ticket是先加密过的)时,直接跳到
 *    sso.yxh.com(header("location:http://sso.yxh.com?redirect_url=http://a.yxh.com")单点登录系统,进行登录。
 * 4、登录成功后,生成ticket存储到Cookie中,相应的也要存储在服务器端(存储在redis,或者session中)。
 * 5、然后跳回到a.yxh.com,再校验ticket,校验成功,则登录成功。
 * 6、如果用户需要登出,则需要清除cookie,setcookie("ticket", null, time() - 1000, "/", "yxh.com");
 * 7、登出后,其他系统下的ticket也相继被清除、其他系统也相应登出。
 */
    echo "a系统";
    setcookie("site""a", time() + 1000);//a.yxh.com自己可以看到
?>

  

b系统,http://b.yxh.com(与a系统一样)

二级域名session共享解决方案:https://www.cnblogs.com/linzhenjie/archive/2013/01/23/2872541.html

SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析  http://blog.csdn.net/clh604/article/details/20365967

php实现单点登录,顶级域名与子域名间共享Cookie实现单点登录原理的更多相关文章

  1. 超详细网站博客域名和二级域名、子域名升级HTTPS免费申请SSL证书配置nginx指南

    随着互联网的飞速发展,我们的工作生活已经离不开互联网,HTTP虽然使用极为广泛, 但是存在不小的安全缺陷, 主要是其数据的明文传送和消息完整性检测的缺乏, 而这两点恰好是网络支付,网络交易等网站应用中 ...

  2. python 提取主域名和子域名代码——先根据规则提取,如果有问题,则使用tldextract

    import tldextract def extract_domain(domain): suffix = {'.com','.la','.io', '.co', '.cn','.info', '. ...

  3. jmeter实现一次登录,多次业务请求(不同线程组间共享cookie和变量)

    实现目的 很多时候,在进行性能测试时,需要先登录,然后再对需求的事务进行相关性能测试,此时的登录操作,并不在本次性能测试的范围内,所以我们只需要登录一次,然后获取登录成功后的cookie等,并将coo ...

  4. 添加Godaddy二级域名子域名方法

    我们在申请注册了Godaddy域名后,如果需要开通二级域名,方法简单只需要在Godaddy添加二级域名(子域名)只要在域名管理后台添加A记录或CNAME别名(Aliases)即可.但我们如果需要添加二 ...

  5. 子域名查询、DNS记录查询

    目录 子域名信息查询 Layer子域名爆破机 subDomainBrute 利用google查询 HTTP证书查询 DNS记录查询脚本 IP转换为经纬度 利用网页获取对方经纬度信息 首先关于DNS域名 ...

  6. TP、PHP同域不同子级域名共享Session、单点登录

    TP.PHP同域不同子级域名共享Session.单点登录 目的: 为了部署同个域名下不同子级域名共享会话,从而实现单点登录的问题,一处登录,同域处处子系统即可以实现自动登录. PHP支持通过设置coo ...

  7. 同顶级域名下 通过Cookie 跨域实现单点登陆

    Cookie对于web开发者而言真是一个小甜饼,因为它保留了用户的登录状态.但是当登陆站点在不同域名时就会出现问题了. 在Cookie规范上说,一个cookie只能用于一个域名,不能够发给其它的域名. ...

  8. 通过设置cookie实现单点登录

    最近要做个登录一个客户端跳转到另一个网站不用再登录,有两种方法,第一种就是写接口通过客户端传值账号直接到目标网站,另一种是写入cookie到目标网站.由于目标网站之前就是通过cookie实现单点登录, ...

  9. SSO单点登录学习总结(2)——基于Cookie+fliter单点登录实例

    1.使用Cookie解决单点登录 技术点: 1.设置Cookie的路径为setPath("/").即Tomcat的目录下都有效 2.设置Cookie的域setDomain(&quo ...

随机推荐

  1. Solr 自定义排序[1]

    需求:商品排序,无库存的商品排在后面(排序). 搜索:  默认搜索:                                            df:        可以看出左图第1个.第 ...

  2. jquery tr:even,tr:eq(),tr:nth-child()区别

    jquery里面是不是搞不清楚,tr的选择器? $("tr:even"),$("tr:eq(2)"),$("tr:eq(3)"),$(&qu ...

  3. UE4 材质Lerp节点解疑

    转自:http://www.manew.com/thread-46268-1-1.html 1.A是一个灰色,B是一个红色,Alpha是一个颜色图 A到B是0到1,也就是黑到白,所以,alpha图,黑 ...

  4. Java集合类分析,初始化

    Java集合是常用的数据类型,在此详细分析接口和实现类.整个集合框架就围绕一组标准接口而设计,学习集合框架有助开发实践. 框架体系图 1.Collection 接口Collection 是最基本的集合 ...

  5. locals()和globals()

    都是获取当前作用域的内容: locals() 获取局部作用域的所有内容 函数内:获取locals()之前的,当前作用阈所有内容 函数外:获取打印前, 当前的作用域所有内容 在闭包内: 会把使用到的外层 ...

  6. Spring MVC 处理JSON | JSONP类型数据

    SpringMVC返回JSON格式的数据: 1 添加jar包(gson-2.8.0.jar): <dependency> <groupId>com.google.code.gs ...

  7. WebApp专家评委打分的两种进入模式

    A模式: 当前PC端的前期设置如下: [管理员允许时,只针对管理员指定选手] 选项选中.在现场时,管理员点击 状态未知 或下方红框所示按钮 发出打分允许指令时, 专家评委使用WebApp进入专家打分区 ...

  8. 熟悉SQL Server 数据类型

    SQL Server中包含了4种不同的数据类型,一 数字型,二 日期与时间, 三 字符串, 四 其他 上述4个大类中,每一类包含一定数量的子类. 表中的每一列,被声明的变量,参数等,都必须有与之相对应 ...

  9. linux:安装mysql管理工具phpmyadmin

    1.下载phpmyadmin,下载地址:http://www.phpmyadmin.net/ 2.解压到/var/www/html/phpmyadmin/ 3.修改配置 cd /var/www/htm ...

  10. es6(9)--Symbol

    //Symbol生成一个独一无二的值,生成的值不会相等 { //声明1 let a1=Symbol(); let a2=Symbol(); console.log(a1===a2);//false / ...