1. 程式人生 > >單點登入方案的比較和選擇

單點登入方案的比較和選擇

1、OpenSSO 曾經Sun的一款開源產品,從很少的那一點點中文資料上來看,這個能實現我需要的那種SSO模式。從SUN被Oracle收購之後,Oracle便關閉了OpenSSO這個專案,現在在網上下不到OpenSSO的安裝檔案。而且以前的那些在SUN釋出的很多相關的幫助文件,大多數連結都失效了,全都指向了Oracle的同一個頁面,找不到文件中對應的安裝檔案。 2、OpenAM OpenAM的原型應該就是OpenSSO,據說是在Oracle關閉OpenSSO時,被“解救”下來的。在OpenAM的官網上能找到相關的幫助文件,這種方法使用的LDAP伺服器是OpenDS,而既存系統在OAS上使用的是OID(Oracle Internet Directory),客戶希望沿用OID這個LDAP伺服器,(恨死他們了),從OpenAM的安裝過程來看,OpenAM似乎不支援OID,但是,在網上找到一些資料似乎修改一些配置還是可以做到的。
OpenAM 是一個領先的開源認證、授權的產品,可用於替換即將被取消的 OpenSSO。 OpenAM 提供核心的標識服務用來簡化實現在一個網路架構中的透明單點登入,包括集中式或者分散式的單點登入。主要的特性有:      完全符合開源AAA產品;      AAA協議:電腦保安領域的協議,AAA指:鑑權,授權,計費(Authentication, Authorization, Accounting)     簡單易用、易配置;     純Java開發;     可輕鬆配置聯合認證系統,並整合到已有專案中。 最新的功能:      支援 XACML 協議      100%支援 OAuth 認證協議
    企業監控 3、Kerberos也提供另外一種方式的 SSO ,即基於 Windows 域的 SSO Spring Security Kerberos:將Windows Active Directory認證(或其它支援Kerberos的設施)與Spring Security整合來實現單點登入。 Spring Security Kerberos:Spring Security SAML:Spring Security CAS:都是針對單點登入伺服器的客戶端實現 4、CAS 是 Yale 大學發起的一個開源專案,據統計,大概每 10 個採用開源構建 Web SSO 的 Java 專案,就有 8 個使用 CAS 。這些統計可能言過其實,但有一點可以肯定的是, CAS 是最簡單實效,而且足夠安全的 SSO 選擇
,旨在為 Web 應用系統提供一種可靠的單點登入方法,CAS 在 2004 年 12 月正式成為 JA-SIG 的一個專案。CAS具有以下特點: 
開源的企業級單點登入解決方案。 CAS Server 為需要獨立部署的 Web 應用。 CAS Client 支援非常多的客戶端(這裡指單點登入系統中的各個 Web 應用),包括Java, .Net, PHP, Perl, Apache, uPortal, Ruby 等。
5、shiro能不能做單點登入?
shiro的單點登入是通過整合cas實現的
6、通過session共享,需要做的太多,比如 不能實現跨域,需要自己實現(即使各service可以訪問同一個session伺服器,但是瀏覽器端跨域後,使用者沒有憑證TGT證明自己登陸了) 退出登陸需要自己實現,可以參考cas系統的退出
要自己做許可權管理 要自己實現sevice控制,把非法的service排除在外 需要自己實現oauth 而上面這些CAS都做好了
7、其他
總結:個人推薦CAS系統
請看cas常見問題系列文章 - 持續更新中

--------------------------
微信公眾號:IT人成長關注