單點登錄SSO:可一鍵運行的完整代碼


單點登錄方案不同於一個普通站點,它的部署比較繁瑣:涉及到好幾個站點,要改host、安裝證書、配置HTTPS。

看到的不少這方面示例都是基於HTTP的,不認同這種簡化:

1. 它體現不出混合HTTP/HTTPS時,單點注銷要注意處理的問題;

2. 做單點登錄一定要有絕不能走HTTP傳遞用戶登錄信息的基本安全意識。自己“加密”用戶登錄信息之類的方案,大都是不堪一擊的;

3. 我在 《看完48秒動畫,讓你不敢再登錄HTTP網站(附完整示例代碼)》這篇給了一個比較有沖擊力的HTTP會話劫持示例。

 

為了讓大家可以快速安裝體驗,專門開發了一個一鍵部署運行的小程序。大家在http://file.baibaomen.com/sso/BaibaomenSsoLesson.zip下載解壓完整示例壓縮包到任意盤根目錄,運行其中的 “一鍵配置運行.exe”,即會自動完成所有相關部署配置工作,並打開瀏覽器訪問相應站點。測試賬號是baibaomen,密碼123456。

注意:因為該程序運行涉及修改host、安裝證書等操作,可能出現安全警告甚至誤刪。可以自行單獨編譯其中OneKeyRunner工程源碼,會自動重新生成本exe,此時不會再告警,執行即可。

各位如果有github賬號,可以watch本項目,跟進最新源碼:https://github.com/baibaomen/BaibaomenSsoLesson

我本地的測試環境是Windows10,IIS 10,.NET4.6。最低配置環境要求IIS7,.NET4.6。

出爐!可一鍵運行的SSO完整代碼|手把手教單點登錄系列三

單點注銷已在代碼中實現。先不在本文着重講解了,有興趣的同學請閱讀代碼,疑問在評論中交流。如果大家都比較關心該業務,本系列后繼文章會考慮做個專題。

 

單點登錄是一個涉及技術面非常廣泛的領域。本系列第二篇和本文代碼所提供的方案,屬於一類最基本也最標准的跨域Web單點登錄方案。

在具體的SSO實施中,該類方案有兩個明顯的短板:

  1. 只涵蓋了Web應用的單點登錄場景。企業的很多客戶端程序、移動端程序也有單點登錄需求,比如SAP、Lotus或者企業自身業務應用。像本系列第一篇演示的 VPN、QQ客戶端程序單點登錄 就是非Web的單點登錄場景。
  2. 要求被集成的子站點做改造。子站必須理解支持本SSO方案的接口和協議。這個對於非常多實際的SSO實施場景來說難以做到,因為大量要集成的站點都是已經上線運行了很久的,甚至都已經找不到對應維護人員的系統,改造風險太大。本系列第一篇演示的 零改造實現百度、CSDN單點登錄 就是此例,SSO實施方是無法改造待集成站點的。

網上的單點登錄教程和介紹,大部分是止於該類基本的標准方案。很多標准化的產品方案,像IdentityServer,也都屬於該范疇。

對該類方案的充分理解,是實施SSO的基本功。在此基礎上,后繼文章會結合我的顧問實施經驗,和大家探討如何演化變通,實現真實場景下的各種復雜單點登錄需求。

本文主要作為問題回復貼。執行中有問題的,請在本文回復交流。

希望成功運行的童鞋也積極回復反饋,看到你們有所收獲是我最大的動力:)

本文原文地址:http://www.cnblogs.com/baibaomen/p/sso-full-code.html 。轉載請注明。

本系列各篇鏈接:

單點登錄-SSO:概述與示例 http://www.cnblogs.com/baibaomen/p/sso.html

單點登錄-SSO:圖示和講解 http://www.cnblogs.com/baibaomen/p/sso-sequence-chart.html

單點登錄-SSO:一鍵運行的完整代碼 http://www.cnblogs.com/baibaomen/p/sso-full-code.html

 

本作品采用知識共享署名-非商業性使用-相同方式共享 2.5 中國大陸許可協議進行許可。

我的博客歡迎復制共享,但在同時,請保留原文地址以及我的署名權百寶門-SSO顧問,並且,不得用於商業用途。

如您有任何疑問或者授權方面的協商,請給我郵件。 


博客園專欄:
百寶門-SSO顧問

我的公眾號“百寶門”



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM