當前位置:首頁 » 編程語言 » php單點登錄實現

php單點登錄實現

發布時間: 2022-03-14 01:50:52

php 單點登錄代碼

假設有三個不同域名,a.com, b.com, c.com,將其中之一作為真正的登陸入口,所有的域名下發起的登陸,全部重定向到這個節點,這里假設選擇a.com/login.php為統一登入節點,為了方便說明,把a.com叫做主節點,其餘叫做從節點。

假設現在從任意站點發出登陸請求,最終都被帶到 a.com/login.php?from=b.com&sfkey=xxxxxx,用戶輸入登陸信息,假設登陸成功,返回一個登陸成功中間頁面,在這個頁面里,包含下面html代碼

<iframe width="0" height="0" src="b.com/sso.php?sessid=xxxxxxxxxxxx&sfkey=xxxxxxxxxxx"></iframe>
<iframe width="0" height="0" src="c.com/sso.php?sessid=xxxxxxxxxxxx&sfkey=xxxxxxxxxxx"></iframe>

sessid是登陸成功以後的session ID,sfkey是一個安全碼,這兩個串在login.php里綁定到當前登陸的用戶記錄上。

這個時候a.com實際已經登陸完畢,獲得了PHPSESSID的cookie。兩個iframe的作用是把獲得的session id立刻同步到從節點上,從節點的sso.php獲得sessid和sfkey後,首先校驗這個配對是否存在,如果存在,立刻把sessid值設為當前session id

session_id($_GET['sessid']); // 使用a.com產生的session id
session_start();

sso.php請求完畢後,b.com和c.com這兩個站點就獲得了和a.com一樣的PHPSESSID cookie;

這個頁面會把用戶重定向回所來自的頁面(到達login.php的時候記住了),重定向完成後,用戶已經在所有網站完成了同步登陸。
a.com發送iframe請求的時候使用加密的sessid=xxxxxx里的sessid,從節點的sso.php獲取密文後解密才獲得真實的session id
可以用單獨域名來作為登陸主節點,比如login.x.com,而不用a b c中的任意一個,login.x.com做且僅作登陸服務。

⑵ PHP怎麼實現單點登錄

1、直接網上找一個單點登錄系統,把這2個系統整合到一起,
2、自己寫一個單點登錄系統,藉助中間表,比如你以java系統為主,在java系統裡面嵌入了php系統,當點擊php系統的欄目時就先去中間表check一下,然後直接跳到你的php系統上面就好,
3、如果沒有許可權啥的,你就直接放一個連接傳用戶名和密碼直接登錄訪問也行。

⑶ PHP和Mysql資料庫如何實現單點登錄

一般兩種方案:
1
共享SESSION(db,nosql等)
2
通過介面對每個域名下寫cookie(常見ucenter)。
至於那些在頁面上做處理,不現實的。一則涉及面廣,二則維護不方便,也不符合業務封裝(模塊化)的架構思維。
答題不易,互相理解,您的採納是我前進的動力,感謝您。

⑷ 單點登錄的實現 php

check session or cookie

⑸ php 單點登錄

可以借鑒各大開源程序中的單點登錄應用,例如disucz的Ucenter或者phpcms的phpsso等

⑹ php 怎麼實現單點登錄

您好,即插即用方式實現單點登錄:
對於 B/S結構應用系統,用戶只需通過瀏覽器界面登錄一次,即可通過UTrust SSO單點登錄系統訪問後台的多個用戶許可權內的Web應用系統,無需逐一輸入用戶名、密碼登錄。對於 C/S結構應用系統,通過IE控制項來實現對C/S系統客戶端的單點登錄,用戶輸入一次用戶名、密碼,即可訪問所有被授權的C/S系統資源。無論對於B/S和C/S結構的應用系統,實現單點登錄的功能時,後台應用系統無需任何修改。•後置代理方式實現單點登錄 對於有改造條件的B/S結構應用系統,UTrustSSO也提供了後置代理的方式實現單點登錄。SSO 系統提供各種API,Agent代理,對原有應用系統進行改造,改變原有應用系統的認證方式,同時採用認證伺服器提供的技術進行一次性身份認證,實現單點登錄。

⑺ php 怎麼實現單點登錄

單點登錄(Single Sign On),簡稱為 SSO,是目前比較流行的企業業務整合的解決方案之一。SSO的定義是在多個應用系統中,用戶只需要登錄一次就可以訪問所有相互信任的應用系統。(網路)

我本人認為單點登錄主要解決一下問題:

1. 一個用戶賬號,多站點通用;

2. 一個應用登錄,其他應用同時登錄;

3. 一個賬號退出,其他應用賬號同時退出;(非必須,此項不在單點登錄的討論范圍之內,不過WEB單點登錄,用到的還是挺多的);

4. 歡迎補充

PHP實現單點登錄方法有多種:

1. 通過關系服務 如webservice 之類的;

2. 資料庫共享session實現;

4. P3P跨站點 如ucenter phpcms 等;

5. 通過文件操作 SESSIONID

6. 歡迎補充

⑻ PHP單點登錄怎麼實現

一般兩種方案:
1 共享SESSION(db,nosql等)
2 通過介面對每個域名下寫cookie(常見ucenter)。
至於那些在頁面上做處理,不現實的。一則涉及面廣,二則維護不方便,也不符合業務封裝(模塊化)的架構思維。

⑼ php實現單點登錄

可以使用cookie
但是作為一個系統來說 你這樣做一點不安全

⑽ php單點登陸(sso)實例

建一個在線用戶表 欄位 包括session_id,user_id,
如果你想 用戶登錄後沒有退出 用戶繼續使用相同賬戶 密碼登錄的話 踢出原來已經登錄的用戶
用戶登錄成功時,把sessuib_id,user_id插入到在線用戶表中
下次用戶登錄時 根據user_id查詢這個表 若有記錄取得相應的session_id 並刪除相應的session文件即可。

熱點內容
存儲幾層 發布:2025-07-21 18:20:18 瀏覽:262
安卓手機相冊是哪個 發布:2025-07-21 18:15:13 瀏覽:542
c語言的fork函數 發布:2025-07-21 17:50:05 瀏覽:745
怎麼給文件夾改名字叫什麼 發布:2025-07-21 17:37:22 瀏覽:893
php發包 發布:2025-07-21 17:36:47 瀏覽:4
怎麼配置mc伺服器 發布:2025-07-21 17:35:37 瀏覽:998
androidjson接收 發布:2025-07-21 17:29:12 瀏覽:62
蘋果手機簡訊加密 發布:2025-07-21 17:23:18 瀏覽:462
帶參數存儲過程執行 發布:2025-07-21 17:10:48 瀏覽:651
盒子系統升級伺服器地址 發布:2025-07-21 16:52:15 瀏覽:400