sso实现php,php的sso单点登录实现方法,phpsso单点登录_PHP教程
php的sso单点登录实现方法,phpsso单点登录
本文实例讲述了php的sso单点登录实现方法。分享给大家供大家参考。具体分析如下:
这里详细讲到了几点:
1、点击登录跳转到SSO登录页面并带上当前应用的callback地址
2、登录成功后生成COOKIE并将COOKIE传给callback地址
3、callback地址接收SSO的COOKIE并设置在当前域下再跳回到应用1即完成登录
4、再在应用程序需要登录的地方嵌入一个iframe用来实时检测登录状态,代码如下:
index.php 应用程序页面:
代码如下:
header('Content-Type:text/html; charset=utf-8');
$sso_address = 'http://XXXX.com/sso/login.php'; //你SSO所在的域名
$callback_address = 'http://'.$_SERVER['HTTP_HOST']
.str_replace('index.php','',$_SERVER['SCRIPT_NAME'])
.'callback.php'; //callback地址用于回调设置cookie
if(isset($_COOKIE['sign'])){
exit("欢迎您{$_COOKIE['sign']} 退出");
}else{
echo '您还未登录 点此登录';
}
?>
login.php SSO登录页面:
代码如下:
header('Content-Type:text/html; charset=utf-8');
if(isset($_GET['logout'])){
setcookie('sign','',-300);
unset($_GET['logout']);
header('location:index.php');
}
if(isset($_POST['username']) && isset($_POST['password'])){
setcookie('sign',$_POST['username'],0,'');
header("location:".$_POST['callback']."?sign={$_POST['username']}");
}
if(emptyempty($_COOKIE['sign'])){
?>
}else{
$query = http_build_query($_COOKIE);
echo "系统检测到您已登录 {$_COOKIE['sign']} 授权 退出";
}
?>
callback.php 回调页面用来设置跨域COOKIE:
代码如下:
header('Content-Type:text/html; charset=utf-8');
if(emptyempty($_GET)){
exit('您还未登录');
}else{
foreach($_GET as $key=>$val){
setcookie($key,$val,0,'');
}
header("location:index.php");
}
?>
connect.php 用来检测登录状态的页面,内嵌在页面的iframe中:
代码如下:
header('Content-Type:text/html; charset=utf-8');
if(isset($_COOKIE['sign'])){
$callback = urldecode($_GET['callback']);unset($_GET['callback']);
$query = http_build_query($_COOKIE);
$callback = $callback."?{$query}";
}else{
exit;
}
?>
希望本文所述对大家的php程序设计有所帮助。
http://www.bkjia.com/PHPjc/939404.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/939404.htmlTechArticlephp的sso单点登录实现方法,phpsso单点登录 本文实例讲述了php的sso单点登录实现方法。分享给大家供大家参考。具体分析如下: 这里详细讲...
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉
本文系统来源:php中文网
sso实现php,php的sso单点登录实现方法,phpsso单点登录_PHP教程相关推荐
- linux单点登录命令,配置RHEV中Linux 虚拟机使用 IPA(IDM)实现单点登录的方法
要配置 Red Hat Enterprise Linux 虚拟机使用 GNOME 和 KDE 图形桌面系统和 IPA(IdM)服务器实现单点登录,您需要在虚拟机上安装 rhevm-guest-agen ...
- SSO单点登录-基于cookie的单点登录
1.概述 单点登录(Single-Sign-On),简称SSO,它的解释为:在多个应用系统中,只要登陆一次,便可以访问其它相互信任的系统.早期系统由于只有一个服务,因此只需要登录一次,就可以访问系统的 ...
- thinkphp限制单点用户登录_php的sso单点登录实现方法
本文实例讲述了php的sso单点登录实现方法.分享给大家供大家参考.具体分析如下: 这里详细讲到了几点: 1.点击登录跳转到SSO登录页面并带上当前应用的callback地址 2.登录成功后生成COO ...
- springboot实现单点登录_什么是单点登录,php是如何实现单点登录的
文章来自:php中文网链接:https://www.php.cn/php-weizijiaocheng-429869.html 作者:中文网 商务合作:请加微信(QQ):2230304070 视频教程 ...
- 用户登录问题python_Python Flask单点登录问题
1. 什么是单点登录? 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的 ...
- 挑战用五行代码轻松集成登录系统,实现单点登录
随着企业业务的发展,OA 系统.财税系统.CRM 系统等各类系统只增不减,权限管理也日渐力不从心.很多企业都在寻找这样一种服务--员工只需登录个人 OA 系统的账号密码,就可以访问飞书.销售易.客户系 ...
- 什么是单点登录?怎么样实现单点登录
单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任.单点登录在大型网站里使用得 ...
- usmssosetup 单点登录被禁用_SSO单点登录三种情况的实现方式详解
单点登录(SSO--Single Sign On)对于我们来说已经不陌生了.对于大型系统来说使用单点登录可以减少用户很多的麻烦.就拿百度来说吧,百度下面有很多的子系统--百度经验.百度知道.百度文库等 ...
- usmssosetup 单点登录被禁用_SSO(单点登录)实施中遇到的几个问题
单点登录应用中,遇到如下的几个问题:1.超时问题:2.jsessionid问题:3.单点退出时有时子系统未能正常退出:4.有些请求路径不需要单点登录过滤器拦截:5.不同应用服务实现可能要求SSO客户端 ...
最新文章
- 基于canoe 新建一个lin工程_CANoe教程 | 高级编程 - C Library API
- 数据降维(特征提取)和特征选择有什么区别?
- 业界 | 5个步骤开启你的数据科学职业生涯!(附链接)
- redis的五种数据类型及常见操作
- mysql5 7选路径_MySQL 5.5/5.6/5.7及以上版本安装包安装时如何选择安装路径
- 189. 旋转数组 golang
- leetcode 674. 最长连续递增序列
- mysql按字段同步_MySQL同步(一) 基础知识
- ubuntu tftp 服务器故障排除一例
- C#通过反射动态加载dll,读取module、类、方法、特性,并通过反射+简单工厂+配置文件 实现ioc
- javascript不定参数
- 海南工会云会员认证_“网上工会”大普惠全面升级 全体会员共享生活大福利...
- javascript 自带函数 读取json文件
- 苹果系统安装驱动的五种方法
- 个人学习笔记附Markdown格式下载
- 【论文笔记】基于强化学习的机器人手臂仿人运动规划方法
- 有哪些业务会用到物理服务器?
- Spring Boot整合Shiro + Springboot +vue
- 与小卡特一起学python 第18章 一种新的输入-事件
- java对于微信平台语音接收以及处理,语音下载以及arm格式转换MP3
热门文章
- FBX文件导入Unity3d贴图文件丢失解决方案
- Android 可任意位置移动的悬浮窗
- 午后札记(2011.6.4)
- ant design vue treeDefaultExpandAll 更换数据后没有自动展开
- [转载]Word中大表格正确跨页断行的设置
- SSM毕设项目风聆精酿啤酒智能销控一体系统udd8a(java+VUE+Mybatis+Maven+Mysql)
- 菊花厂骚操作:让你们智商都为 0
- 返回的数据不符合规范,正确的成功状态码 (code) 应为:0解决方案
- c++中vector容器(维克多配98k ^_^)
- 算法设计与分析----二分搜索(递归)