轉載自:http://blog.icxo.com/read.jsp?aid=30925
單點登陸 SSO(Single Sign-On) 簡介
-supermgr
指機構只需對使用者作一次身份認證,通過認證後的使用者可以對所
有被授權的電腦和系統進行訪問,無需重複輸入使用者密碼。
單點登陸(Single Sign-on)降低了人員以及系統出錯的幾率,因
此獲得了很高的期待值,但因所面臨的各種困難使其難於實施。
相關產品:
惠普HP 靈動安全,
主要應用在企業Web系統中,支援多種身份認證.產品安裝費用RMB1,684元。
微軟提供的Passport認證服務
ASP.NET支援這服務,對於Web開發可以查看一下
System.Web.Security命名空間下以Passport開頭的類名就知道了。
如果你想在你的應用裡使用Passport認證服務的話,你需要下載.NET Passport SDK.
可以參考NET Passport Single Sign-In
公司專屬應用程式集中管制PORTAL系統
美商克門股份有限公司的,主要為應用資源WEB化解決方案
Yale CAS Server 來實現單點登陸(SSO)
CAS (Central Authentication Service)是Yale大學的ITS開發的一套JAVA實現的開源
的SSO(single sign-on)的服務。
SSO實現原理
1、概念:SSO的一種偏向技術的說法:使用者只需登陸一次,就可使用多個SSO enable的應用系統。
(1)、單一的登陸點。理想的情況是使用者通過任何應用系統都能進行SSO,這對於基於Web的系統是可行的。這種單一的登陸點在整個系統的設計中是唯一認證使用者的地方,由登陸點將SSO token(針對不同的C/S,B/S應用可能還需要傳遞使用者名稱,口令)傳遞給應用系統,應用系統利用SSO token來進行使用者已認證的驗證。我們將這個單一的登陸點稱為SSO Entry。
(2)、SSO enable意味著對應用系統的修改不可避免。並不是任何系統都能夠使用SSO,只有那些符合SSO規範,使用SSO API的應用系統才具有SSO的功能。簡單地說就是要修改已有的應用系統,屏蔽已有的應用系統的使用者認證模組,使用系統提供的SSO API來驗證使用者,以及對使用者的操作進行授權。
(3)、需要統一的認證,許可權資訊庫。通常,認證與授權管理模組以一種應用專有的方式實現,系統的授權模型、認證,授權資訊存貯結構與存取控制邏輯與應用的商務邏輯之間耦合緊密。這種設計與實現方式的缺點是顯而易見的:由於認證、授權模組與應用邏輯之間的緊耦合使得認證、授權模組很難進行擴充與維護;認證、授權模組的設計與編碼需要很大的工作量,而且很難在不同的應用系統之間共用與重用。這也是越來越多公司專屬應用程式需要SSO的原因之一。
SSO要求有統一的認證,許可權存放庫。但現實中,有的系統無法使用外部的認證,授權資訊庫,所以就需要在應用系統和Portal Server之間進行認證,同時進行授權資訊的資料同步。
具體可以參看:sso在南京地稅的實施
一般來說,單點登陸有兩種模式:
第一種是DNN模式。也就是把各個子系統的介面都整合到一起,當到一個類似DNN一樣UI的容器管理器裡面,用這樣的方式,來實現一次登陸,然後在各個其他系統中繼續享有這個使用者登入服務。 其實這是採用一個WebApplication的方式。
第二種,類似微軟的passport,一次登陸之後,就可以在msn,hotmail,或者space中任其切換而不需要重新登陸。這一中模式就不是一個WebApplication了,而是在多個Application上的控制。