單點登錄
Single Sign On,簡稱為 SSO,是目前比較流行的企業業務整合的解決方案之一。SSO的定義是在多個應用系統中,用戶只需要登錄一次就可以訪問所有相互信任的應用系統。
單點登錄原理
CAS
Central Authentication Service 是 Yale 大學發起的一個企業級的、開源的項目,旨在為 Web 應用系統提供一種可靠的單點登錄解決方法(屬于 Web SSO)。CAS 開始于 2001 年, 并在 2004 年 12 月正式成為 JA-SIG 的一個項目。
CAS執行身份驗證

下面是這個身份驗證協議中的主要步驟。
CAS服務搭建
環境準備:
配置服務端
配置完成后,啟動tomcat,瀏覽器輸入https://test.cas.com:8080/cas
對于提示,必須使用HTTPS,不用理會,如果你有證書也可以配置在tomcat下,不要嘗試使用keytool生成,利用keytool生成的證書,客戶端在調用時無法保證有效的鏈接。

輸入用戶名admin和密碼admin登錄則會出現

至此,說明服務端配置成功。
CAS客戶端搭建
下載.NET CAS client https://wiki.jasig.org/display/CASC/.Net+Cas+Client http://downloads.jasig.org/cas-clients/dotnet/dotnet-client-1.0.2-bin.zip
源碼下載 https://github.com/Jasig/dotnet-cas-client/tree/master/DotNetCasClient建議下源碼,方便調試與測試
客戶端服務配置:https://wiki.jasig.org/display/CASC/.Net+Cas+Client
創建項目 TestMvcCas MVC4.0架構

安裝DotNetCasClient NuGet http://www.nuget.org/packages/DotNetCasClient
也可以將源碼附加到項目中,方便調試

配置web.config
參見 https://wiki.jasig.org/display/CASC/.Net+Cas+Client每個節點配置這上面有詳細的介紹

配置頁面權限驗證

運行解決方案,會看到未登陸的用戶,會自行跳轉到cas登陸界面

登陸成功之后,則會正常跳轉,也可以看到站點下存在相應的COOKIE

當前登陸用戶采用默認的admin賬號,如果需要集成數據庫,可以參考下
http://my.oschina.net/indestiny/blog/200768
下一篇爭取能實現數據庫集成和自定義返回數據
參考資料
http://blog.csdn.net/cutesource/article/details/5838693
http://www.coin163.com/java/cas/cas.html
http://www.ibm.com/developerworks/cn/web/wa-singlesign/
http://m.survivalescaperooms.com/zhenyulu/archive/2013/01/27/2878935.html
新聞熱點
疑難解答