這裡詳細講到了幾點:
1、點選登入跳轉到sso登入頁面並帶上當前應用的callback位址
2、登入成功後生成cookie並將cookie傳給callback位址
3、callback位址接收sso的cookie並設定在當前域下再跳回到應用1即完成登入
4、再在應用程式需要登入的地方嵌入乙個iframe用來實時檢測登入狀態,**如下:
index.php 應用程式頁面:
複製** **如下:
<?php
header('content-type:text/html; charset=utf-8');
$sso_address = ''; //你sso所在的網域名稱
.'callback.php'; //callback位址用於**設定cookie
if(isset($_cookie['sign'])) 退出");
}else
?>
?callback=<?php%20echo%20%24callback_address%20?>" frameb class="dbljp">"0" wifuumknrmpcdth="0" height="0">
login.php sso登入頁面:
複製** **如下:
<?php
header('content-type:text/html; charset=utf-8');
if(isset($_get['logout']))
if(isset($_post['username']) && isset($_post['password']))"); }
if(emptyempty($_cookie['sign']))else 授權 退出";
} ?>
callback.php **頁面用來設定跨域cookie:
複製** **如下:
<?php
header('content-type:text/html; charset=utf-8');
if(emptyempty($_get))else
header("location:index.php");
} ?>
connect.php 用來檢測登入狀態的頁面,內嵌在頁面的iframe中:
複製** **如下:
<?php
header('content-type:text/html; charset=utf-8');
if(isset($_cookie['sign']))";
}else
?>
本文標題: php的sso單點登入實現方法
本文位址:
PHP實現sso單點登入
單點登入的解釋 單點登入 single sign on 簡稱為 sso,是目前比較流行的企業業務整合的解決方案之一。sso的定義是在多個應用系統中,使用者只需要登入一次就可以訪問所有相互信任的應用系統。server端 共享cookie 即共享session的方式,本質上cookie只是儲存sessi...
單點登入系統SSO實現
前些天被問到單點登入了,而據我當時做的這個模組兩年了,現在重新溫習並記錄下,方便以後快速回憶起來 sso全稱single sign on。sso是使用者只需要登入一次就可以訪問所有相互信任的應用系統 分布式集群的專案因為每個模組都部署在不同的機器。如果第一次在a系統登入,第二次訪問b系統,這個時候b...
CAS實現SSO 單點登入
cas分為兩部分,cas server和cas client 假設我們現在有應用系統a 應用系統b cas認證系統 首先,我們來分析下單web應用系統登入登出的實現機理。web系統登入登出功能,通常屬於系統安全管理模組的一部分。如上篇所說,登入,意味著使用者與系統之間的一次會話開始,登出,意味著本次...