CAS介紹CAS是Yale大學發起的一個開源項目,旨在為Web應用系統提供一種可靠的單點登錄方法,CAS在2004年12月正式成為JA-SIG的一個項目。CAS具有以下特點:?開源的企業級單點登錄解決方案。?CASServer為需要獨立部署的Web應用。?CASClient支持非常多的客戶端(這里指單點登錄系統中的各個Web應用),包括Java,.Net,PHP,Perl,Apache,uPortal,Ruby等。
SSO 分為Web-SSO和桌面SSO。桌面 SSO 體現在操作系統級別上。Web-SSO體現在客戶端,主要特點是: SSO 應用之間使用 Web 協議 ( 如 HTTPS) ,并且只有一個登錄入口。我們所講的SSO,指 Web SSO 。
CAS(Central Authentication Service),是耶魯大學開發的單點登錄系統(SSO,single sign-on),應用廣泛,具有獨立于平臺的,易于理解,支持代理功能。CAS系統在各個大學如耶魯大學、加州大學、劍橋大學、香港科技大學等得到應用。Spring Framework的Acegi安全系統支持CAS,并提供了易于使用的方案。Acegi安全系統,是一個用于Spring Framework的安全框架,能夠和目前流行的Web容器無縫集成。它使用了Spring的方式提供了安全和認證安全服務,包括使用Bean Context,攔截器和面向接口的編程方式。因此,Acegi安全系統能夠輕松地適用于復雜的安全需求。
目的:使用單點登錄系統統一管理各子系統的用戶登錄登出,并提供一個統一的集成頁面,方便用戶在各系統之間的快速切換。
摘要:單點登錄(SSO)的技術被越來越廣泛地運用到各個領域的軟件系統當中。本文從業務的角度分析了單點登錄的需求和應用領域;從技術本身的角度分析了單點登錄技術的內部機制和實現手段,并且給出Web-SSO和桌面SSO的實現、源代碼和詳細講解;還從安全和性能的角度對現有的實現技術進行進一步分析,指出相應的風險和需要改進的方面。本文除了從多個方面和角度給出了對單點登錄(SSO)的全面分析,還并且討論了如何將現有的應用和SSO服務結合起來,能夠幫助應用架構師和系統分析人員從本質上認識單點登錄,從而更好地設計出符合需要的安全架構。
OAuth提供了一種client代表資源的擁有者訪問server的方法,也就是在資源擁有者不向第三方提供證書(通常是指用戶名和密碼)的情況下,允許第三方使用用戶代理重定向訪問服務器上的資源。
單點登錄系統(Signle Sign-On SSO),是指當用戶訪問多個需要認證的系統應用時,只需要初始進行一次登錄和身份認證,就可以訪問具有權限的任何系統,而不需要再次登錄,后續系統會自動獲取用戶信息,從而識別出用戶的身份。這樣,無論用戶要訪問多少個應用,他只需要進行一次登錄,而不需要用戶重復輸入認證信息。
CAS 在 Tomcat 中實現單點登錄
Open Web SSO項目是SSO(單一登錄)的一個開源實現。OpenSSO為部署在各種不同Web或應用服務器上的Web應用提供集中身份認證功能。
介紹1、CAS是Yale大學發起的一個開源項目,旨在為Web應用系統提供一種可靠的單點登錄方法,CAS在2004年12月正式成為JA-SIG的一個項目。CAS具有以下特點:2、開源的企業級單點登錄解決方案。3、CASServer為需要獨立部署的Web應用。4、CASClient支持非常多的客戶端(這里指單點登錄系統中的各個Web應用),包括Java,.Net,PHP,Perl,Apache,uPortal,Ruby等。
這里-alias sjc 是表示生成的這個證書的別名叫sjc,-keyalg RSA 指的是采用的RSA算法,-keystore c:/store/mykey是指生成的證書存儲的位置。回車后會提示你輸入keystore password,這可以自己定(這里輸入sunjuncai,下面配tomcat時要用的),然后是一些個人信息及組織信息,可以輕松搞定。
單點登錄的英文名稱為Single Sign-On,簡寫為SSO,它是一個用戶認證的過程,允許用戶一次性進行認證之后,就訪問系統中不同的應用;而不需要訪問每個應用時,都重新輸入密碼。IBM對SSO有一個形象的解釋“單點登錄、全網漫游”。
SSO(Single Sign-On,單點登錄)是身份管理中的一部分。SSO的一種較為通俗的定義是:SSO是指訪問同一服務器不同應用中的受保護資源的同一用戶,只需要登錄一次,即通過一個應用中的安全驗證后,再訪問其他應用中的受保護資源時,不再需要重新登錄驗證。
SSO 分為Web-SSO和桌面SSO。桌面 SSO 體現在操作系統級別上。Web-SSO體現在客戶端,主要特點是: SSO 應用之間使用 Web 協議 ( 如 HTTPS) ,并且只有一個登錄入口。我們所講的SSO,指 Web SSO 。
cas是有耶魯大學研發的單點登錄服務器。 證書對于實現此單點登錄非常之重要,證書是服務器端和客戶端安全通信的憑證,本教程只是演示,所有用了 JDK自帶的證書生成工具keytool。當然在實際項目中你可以到專門的證書認證中心購買證書。
SSO(SingleSign-On)即所謂的單點登錄。用戶在一處登錄后訪問其他網站時不需要再次輸入用戶名和口令,即可完成身份驗證。
OAuth(開放授權)是一個開放標準,允許用戶讓第三方應用訪問該用戶在某一網站上存儲的私密的資源(如照片,視頻,聯系人列表),而無需將用戶名和密碼提供給第三方應用。 OAuth允許用戶提供一個令牌,而不是用戶名和密碼來訪問他們存放在特定服務提供者的數據。每一個令牌授權一個特定的網站(例如,視頻編輯網站)在特定的時段(例如,接下來的2小時內)內訪問特定的資源(例如僅僅是某一相冊中的視頻)。這樣,OAuth允許用戶授權第三方網站訪問他們存儲在另外的服務提供者上的信息,而不需要分享他們的訪問許可或他們數據的所有內容。
單點登錄是必須的,實現方式頗多,這里就說使用CAS的實現方式。使用CAS實現SSO,網絡上說明很多,大部分都是從制作證書開始,而實際上是可以不使用HTTPS驗證,這樣更方便。<br> 單點登錄的原理是通過攔截你設定的URL,并跳轉到你指定的CAS SERVER登錄頁,當你登錄成功后,帶著TICKET,返回到你打開的URL。然后你就可以一票在手,暢通無阻。
以下是CAS1.0和2.0協議的官方規范。 注:CAS1.0和2.0協議大體包含兩個方面的內容:各種票根(Ticket)和暴露給CAS客戶的HTTP(S)URL。這些UPL(/login、/logout、/validate、/serviceValidate、/proxy、/proxyValidate等)圍繞著這些票根(ST、TGC、PGT、PT等)進行活動。在此期間服務和終端服務之間會進行多次HTTPS交互。
本文是CAS協議規范的中文譯文。CAS1.0和2.0協議大體包含兩個方面的內容:各種票根(Ticket)和暴露給CAS客戶的HTTP(S)URL。這些UPL(/login、/logout、/validate、/serviceValidate、/proxy、/proxyValidate等)圍繞著這些票根(ST、TGC、PGT、PT等)進行活動。在此期間服務和終端服務之間會進行多次HTTPS交互。