簡體   English   中英

在PHP中實現單點登錄

[英]Implementing Single Sign On in PHP

誰能指出這種方法的明顯缺陷是什么,因為我敢肯定會有一些...

  1. 用戶嘗試訪問“原始框”上的限制區域
  2. 用戶尚未登錄,因此被重定向到“安全框”
  3. 用戶使用SSL和ldaps通過LDAP登錄
  4. 會話在“安全框”上創建
  5. 用戶被重定向回“原始框”
  6. “原始框”對“安全框”上的session.php執行file_get_contents
  7. “安全框”檢查有效的會話,如果存在則返回用戶名和一些其他信息(如xml)(顯然沒有密碼信息)
  8. “原始框”使用xml創建本地會話
  9. 允許用戶在每個頁面視圖中選中“安全框”以進行有效會話時瀏覽保護區

我不明白為什么你使用file_get_content(); 而不是包含/要求。

為什么您需要完全獲取“ session.php”的內容? 您不能簡單地使用$ _SESSION ['myVar']; 獲取您需要的會話信息?

  1. 通過數據序列化對象(從會話類)?
    或者序列化包含所需內容的數組。

  2. 傳輸數據並保持准確性
    memcached(可能會通過任何站點進行更新,例如會話過期,注銷)
    [no] SQL服務器(對於使用SSO的服務可以只讀)
    “安全框”上的文本文件(假設它不包含任何敏感數據)

順便說一句:SSO系統的目的是僅驗證用戶憑據。 沒有團體等
通常返回重定向或用戶名(使用https檢查)...

確保您在它們之間使用SSL信任來驗證是否允許該服務使用sso,或者如果有人在偽造“安全盒”,則用於服務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM