跨主域实现SSO的思路_PHP教程
跨主域,实现SSO的思路
同一主域(即:同一个一级域名下的所有子域名)下包括多服务器共享SESSION数据实现的方法很多,这里就不多说了!
现在关键的问题是不同主域的SSO的实现!这个问题比较复杂,能实现,但好多都是用一些特殊的软件系统来支撑的。。。
实际上,SESSION也是需要COOKIE来支持的,COOKIE的不支持跨主域就决定了SESSION不能跨主域!那么,如何实现跨主域呢???
这又是我在实现我的项目中的SSO时,突然想到的一个简单的方法,供大家商讨
一、假设 有A.COM , B.COM , C.COM 这三个主域,其中 A.COM主要负责验证通行证(速度比较快), B.COM 和 C.COM都是具体的应用
二、B.COM 和 C.COM 以及 A.COM 自己的一些应用都需要到 A.COM来获取信任(登陆)
三、为各主域分配一个子域 passport.B.COM、passport.C.COM,它们的IP都指向 A.COM所在的主机地址
四、用户在登陆通过验证后,设立一个跳转规则,以session_id作为参数,逐个跳转 passport.B.COM、passport.C.COM (实际上这些子域可以建立到A主机的默认站点,通过数组以及一些参数就可以实现逐个快速跳转),跳转直接用PHP的 header("Location: passport.B.COM/?sid=xxxxxxxx&i=0"); ,在跳转的同时,覆盖当前主域的session_id为传递过来的session_id就可以了。
这里有一些考虑:
1、将各 passport.X.COM分配到同一个速度比较快的主机上,有利于快速跳转,而用户看不见复杂跳转的过程。。。
2、同一主机上跳转可以避免中间跳转环节的出错导致跳转失败。
我只在本机模拟多主域上测试过,效果不错;还没有在INTERNET的网络上具体的试验,请大家有空尝试一下,并提出更好的 SSO 解决方案 ...

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

华为手机如何实现双微信登录?随着社交媒体的兴起,微信已经成为人们日常生活中不可或缺的沟通工具之一。然而,许多人可能会遇到一个问题:在同一部手机上同时登录多个微信账号。对于华为手机用户来说,实现双微信登录并不困难,本文将介绍华为手机如何实现双微信登录的方法。首先,华为手机自带的EMUI系统提供了一个很便利的功能——应用双开。通过应用双开功能,用户可以在手机上同

编程语言PHP是一种用于Web开发的强大工具,能够支持多种不同的编程逻辑和算法。其中,实现斐波那契数列是一个常见且经典的编程问题。在这篇文章中,将介绍如何使用PHP编程语言来实现斐波那契数列的方法,并附上具体的代码示例。斐波那契数列是一个数学上的序列,其定义如下:数列的第一个和第二个元素为1,从第三个元素开始,每个元素的值等于前两个元素的和。数列的前几个元

如何在华为手机上实现微信分身功能随着社交软件的普及和人们对隐私安全的日益重视,微信分身功能逐渐成为人们关注的焦点。微信分身功能可以帮助用户在同一台手机上同时登录多个微信账号,方便管理和使用。在华为手机上实现微信分身功能并不困难,只需要按照以下步骤操作即可。第一步:确保手机系统版本和微信版本符合要求首先,确保你的华为手机系统版本已更新到最新版本,以及微信App

在当今的软件开发领域中,Golang(Go语言)作为一种高效、简洁、并发性强的编程语言,越来越受到开发者的青睐。其丰富的标准库和高效的并发特性使它成为游戏开发领域的一个备受关注的选择。本文将探讨如何利用Golang来实现游戏开发,并通过具体的代码示例来展示其强大的可能性。1.Golang在游戏开发中的优势作为一种静态类型语言,Golang在构建大型游戏系统

PHP游戏需求实现指南随着互联网的普及和发展,网页游戏的市场也越来越火爆。许多开发者希望利用PHP语言来开发自己的网页游戏,而实现游戏需求是其中一个关键步骤。本文将介绍如何利用PHP语言来实现常见的游戏需求,并提供具体的代码示例。1.创建游戏角色在网页游戏中,游戏角色是非常重要的元素。我们需要定义游戏角色的属性,比如姓名、等级、经验值等,并提供方法来操作这些

在Golang中实现精确除法运算是一个常见的需求,特别是在涉及金融计算或其它需要高精度计算的场景中。Golang的内置的除法运算符“/”是针对浮点数计算的,并且有时会出现精度丢失的问题。为了解决这个问题,我们可以借助第三方库或自定义函数来实现精确除法运算。一种常见的方法是使用math/big包中的Rat类型,它提供了分数的表示形式,可以用来实现精确的除法运算

申请方法:1、通过工信部网站申请免费域名,等待审核通过后即可获得免费域名;2、通过DNSPod免费申请域名,用户可以在DNSPod上注册账号并申请免费的二级域名;3、选择一个可靠的免费域名服务提供商,通过对比和了解,选择一个可靠的提供商;4、注册账号,点击注册按钮,按照要求填写相关个人信息并创建账号;5、搜索并选择域名即可。

PHP域名重定向是网站开发中常用的技术之一,通过域名重定向可以实现让用户访问一个网址自动跳转到另一个网址,从而实现网站的流量导向、品牌宣传等目的。下面将以一个具体的实例来演示PHP域名重定向的实现方法,并展示效果。创建一个简单的PHP文件,命名为redirect.php,代码如下:
