CAS背景介紹
CAS(Central Authentication Service),是耶魯大學開發(fā)的單點登錄系統(tǒng)(SSO,single sign-on),應用廣泛,具有獨立于平臺的,易于理解,支持代理功能。CAS系統(tǒng)在各個大學如耶魯大學、加州大學、劍橋大學、香港科技大學等得到應用。
Spring Framework的Acegi安全系統(tǒng)支持CAS,并提供了易于使用的方案。Acegi安全系統(tǒng),是一個用于Spring Framework的安全框架,能夠和目前流行的Web容器無縫集成。它使用了Spring的方式提供了安全和認證安全服務,包括使用Bean Context,攔截器和面向接口的編程方式。因此,Acegi安全系統(tǒng)能夠輕松地適用于復雜的安全需求。Acegi安全系統(tǒng)在國內外得到了廣泛的應用,有著良好的社區(qū)環(huán)境。
CAS的設計目標
(1)為多個Web應用提供單點登錄基礎設施,同時可以為非Web應用但擁有Web前端的功能服務提供單點登錄的功能;
(2)簡化應用認證用戶身份的流程;
(3)將用戶身份認證集中于單一的Web應用,讓用戶簡化他們的密碼管理,從而提高安全性;而且,當應用需要修改身份驗證的業(yè)務邏輯時,不需要到處修改代碼。
CAS的實現(xiàn)原理
CAS(Central Authentication Server)被設計成一個獨立的Web應用。實現(xiàn)原理非常簡單,CAS Server
通過CAS
CAS在應用中的運行硬件環(huán)境
University of
University of
CAS2.0.12中關于ticket的生成
CAS創(chuàng)建一個位數(shù)很長的隨機數(shù)(ticket)。CAS把這個ticket和成功登錄的用戶以及用戶要訪問的service聯(lián)系起來。例如,如果用戶peon重定向自service S,CAS創(chuàng)建ticket T,這個ticket T允許peon訪問service S。這個ticket是個一次性的憑證;它僅僅用于peon和僅僅用于service S,并且只能使用一次,使用之后馬上會過期,即ticket通過驗證,CAS立即刪除該ticket,使它以后不能再使用。這樣可以保證其安全性。
關于ST,在取一個ST時,即使用deleteTicket(ticketId)同時將一次性的ST刪除;而對于TGT或PT,則通過resetTimer(ticketId)以更新TGT或PT的時間。在CAS服務端返回的ST中只能得出用戶名。
另外,CAS3.0版本也已經發(fā)布了,現(xiàn)在最新的版本是3.03,希望CAS3.0在向下兼容的同時,更能向我們提供一些新東西。