国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

CAS 實現單點登錄 .NET MVC

2019-11-17 02:12:30
字體:
來源:轉載
供稿:網友

CAS 實現單點登錄 .NET MVC

單點登錄

    Single Sign On,簡稱為 SSO,是目前比較流行的企業業務整合的解決方案之一。SSO的定義是在多個應用系統中,用戶只需要登錄一次就可以訪問所有相互信任的應用系統。

單點登錄原理

  • 存儲信任
  • 驗證信任

CAS

  Central Authentication Service 是 Yale 大學發起的一個企業級的、開源的項目,旨在為 Web 應用系統提供一種可靠的單點登錄解決方法(屬于 Web SSO)。CAS 開始于 2001 年, 并在 2004 年 12 月正式成為 JA-SIG 的一個項目。

CAS執行身份驗證

  

  

  

  下面是這個身份驗證協議中的主要步驟。

  • 用戶嘗試使用應用程序的 URL 訪問應用程序。用戶被重定向到 CAS 登錄 URL,采用的是 HTTPS 連接,他請求的服務的名稱作為參數傳遞。這時向用戶顯示一個用戶名/密碼對話框。
  • 用戶輸入 ID 和密碼,CAS 對他進行身份驗證。如果身份驗證失敗,目標應用程序根本不會知道這個用戶曾經試圖訪問它 —— 用戶在 CAS 服務器上就被攔住了。
  • 如果身份驗證成功,CAS 就將用戶重定向回目標應用程序,并在 URL 中附加一個稱為 ticket 的參數。然后,CAS 嘗試創建一個稱為 ticket-granting cookie 的內存 cookie。這是為了以后進行自動的重新驗證;如果存在這個 cookie,就表示這個用戶已經成功地登錄了,用戶就不需要再次輸入他的用戶名和密碼。
  • 應用程序要檢查這個 ticket 是否正確,以及是否代表一個有效用戶;檢查的方法是,打開一個 HTTPS 連接來調用 CAS serviceValidate URL,并作為參數傳遞 ticket 和服務名稱。CAS 檢查這個 ticket 是否有效,以及是否與請求的服務相關聯。如果檢查成功,CAS 就將用戶名返回給應用程序。

CAS服務搭建

環境準備:

  

  • Tomcat7.2 http://apache.fayea.com/tomcat/tomcat-7/v7.0.63/bin/apache-tomcat-7.0.63.exe
  • JDK6
  • CAS Service 版本 cas-server-3.4.8-release http://download.csdn.net/detail/zhu_r_d/5487373
  • Win7虛擬機  

配置服務端 

  • 解壓CAS Service,將解壓后的文件中modules文件夾中的cas-server-webapp-3.4.8.war文件拷貝的%TOMCAT_HOME%/webapps下,并修改文件名為:cas.war    

  • 配置host  

    

  

  配置完成后,啟動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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 广州市| 昆山市| 张家界市| 阳谷县| 七台河市| 邮箱| 常宁市| 十堰市| 万源市| 彭阳县| 密云县| 通州市| 定边县| 个旧市| 五大连池市| 铅山县| 饶阳县| 嘉义市| 甘洛县| 定远县| 祁连县| 福鼎市| 泰宁县| 广宁县| 阜康市| 华宁县| 横山县| 调兵山市| 射洪县| 鹿泉市| 昆山市| 河北区| 凭祥市| 调兵山市| 合江县| 秀山| 舟山市| 进贤县| 通化县| 绥芬河市| 泊头市|