單點登錄php
㈠ 如何通過php實現SSO單點登錄系統接入功能
對於 B/S結構應用系統,用戶只需通過瀏覽器界面登錄一次,即可通過UTrust SSO單點登錄系統訪問後台的多個用戶許可權內的Web應用系統,無需逐一輸入用戶名、密碼登錄。對於 C/S結構應用系統,通過IE控制項來實現對C/S系統客戶端的單點登錄,用戶輸入一次用戶名、密碼,即可訪問所有被授權的C/S系統資源。無論對於B/S和C/S結構的應用系統,實現單點登錄的功能時,後台應用系統無需任何修改。•後置代理方式實現單點登錄 對於有改造條件的B/S結構應用系統,UTrustSSO也提供了後置代理的方式實現單點登錄。SSO 系統提供各種API,Agent代理,對原有應用系統進行改造,改變原有應用系統的認證方式,同時採用認證伺服器提供的技術進行一次性身份認證,實現單點登錄。詳細內容可咨詢遠標老師
㈡ 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使用CAS實現單點登錄
http://www.thinksaas.cn/group/topic/115819/
因為這部分內容挺多的,給你個參考鏈接看一下是否符合你需要的內容,不符內合或遇到什麼容疑問再問我吧
㈣ php程序開發中怎麼實現單點登錄呀
單點登錄有兩種理解:
第一種:集成系統中,用戶只需一次登錄即可全場漫遊回
第二種:系統只允許唯一答的用戶在登錄使用系統
第一種可以通過用戶數據共享來實現,第二種嘛,騰訊QQ就是一個很好的例子,每次登錄的時候會有一個專門的參數來檢測當前用戶是否已經登錄系統,具體怎麼實現還要結合具體的業務需求.
㈤ discuz x3.1 如何用PHP實現單點登錄
1.
本版僅處理Discuz!標准程序的安裝使用/前後台故障問題,不包括程序修改、模板美化的咨詢。
㈥ php單點登陸(sso)例子 高分
SSO 需要架設一個 登陸驗證伺服器. 網上查查(耶魯大學)的單點登陸伺服器.
你可以找個java版本的casserver伺服器,不知道有沒有php的客戶端。
㈦ php 怎麼實現單點登錄
單點登錄(Single Sign On),簡稱為 SSO,是目前比較流行的企業業務整合的解決方案之一。SSO的定義是在多個應用系統中,用戶只需要登錄一次就可以訪問所有相互信任的應用系統。(網路)
我本人認為單點登錄主要解決一下問題:
1. 一個用戶賬號,多站點通用;
2. 一個應用登錄,其他應用同時登錄;
3. 一個賬號退出,其他應用賬號同時退出;(非必須,此項不在單點登錄的討論范圍之內,不過WEB單點登錄,用到的還是挺多的);
4. 歡迎補充
PHP實現單點登錄方法有多種:
1. 通過關系服務 如webservice 之類的;
2. 資料庫共享session實現;
4. P3P跨站點 如ucenter phpcms 等;
5. 通過文件操作 SESSIONID
6. 歡迎補充
㈧ php 怎麼實現單點登錄
您好,即插即用方式實現單點登錄:
對於 B/S結構應用系統,用戶只需通過瀏覽器界面登專錄一次,即可通過UTrust SSO單點屬登錄系統訪問後台的多個用戶許可權內的Web應用系統,無需逐一輸入用戶名、密碼登錄。對於 C/S結構應用系統,通過IE控制項來實現對C/S系統客戶端的單點登錄,用戶輸入一次用戶名、密碼,即可訪問所有被授權的C/S系統資源。無論對於B/S和C/S結構的應用系統,實現單點登錄的功能時,後台應用系統無需任何修改。•後置代理方式實現單點登錄 對於有改造條件的B/S結構應用系統,UTrustSSO也提供了後置代理的方式實現單點登錄。SSO 系統提供各種API,Agent代理,對原有應用系統進行改造,改變原有應用系統的認證方式,同時採用認證伺服器提供的技術進行一次性身份認證,實現單點登錄。
㈨ java系統和php系統整合,如何實現單點登陸
可以使用那些基於java的單點登錄系統, 一般都有agent的jar包提供。
這個本質上是一個filter, 根據跳轉路由去cas系統判斷許可權
㈩ 詳解PHP如何實現單點登錄
可以配合session和資料庫(或緩存如redis或memcache)實現,具體步驟如下:
在登錄成功後保存一個時間戳+隨機字元的值,這個值暫時叫sign。把這個值存入資料庫(緩存),同時也存入session中。
寫一個函數,功能如下:讀取資料庫(緩存)中的sign,跟session中的sign對比。如不一致,則注銷當前session並提示:當前用戶已在其他地方登錄,你被頂下線。這個函數放到「鉤子」裡面,實現在每一個操作步驟之前都先調用此函數。
這樣,一個簡單的單點登錄功能就實現了。原理其實很簡單,就是每次登錄都把資料庫(緩存)裡面的sign都覆蓋一遍,這樣當之前登錄的人檢測到這個sign不一致以後就強制下線。