資源描述:
《基于cas單點登錄平臺探究和實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、基于CAS單點登錄平臺探究和實現(xiàn) 摘要:針對企業(yè)中多個應(yīng)用系統(tǒng)造成的數(shù)據(jù)不能共享、多次身份認(rèn)證和用戶信息獨立管理的問題,采用基于CAS的統(tǒng)一身份認(rèn)證、LDAP目錄服務(wù)和基于LiferayPortal的系統(tǒng)集成,設(shè)計了企業(yè)單點登錄平臺,實現(xiàn)了統(tǒng)一的身份認(rèn)證、統(tǒng)一的用戶管理和資源授權(quán)以及不同應(yīng)用系統(tǒng)的集成。關(guān)鍵詞:單點登錄;CAS統(tǒng)一身份認(rèn)證;LDAP目錄服務(wù)中圖分類號:TP399文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2014)03-0534-03在較大的企業(yè)內(nèi)部,一般有很多應(yīng)用系統(tǒng)為企業(yè)提供業(yè)務(wù)管理、人事管理、財務(wù)
2、管理和其他信息服務(wù)。這些系統(tǒng)建設(shè)于不同的時期,由不同的廠商開發(fā),采用不同的技術(shù)標(biāo)準(zhǔn),運行在不同的平臺上,用不同的軟件設(shè)計語言開發(fā),導(dǎo)致各系統(tǒng)形成了信息孤島,獨立管理用戶賬號、用戶信息,獨立進(jìn)行身份認(rèn)證和資源授權(quán),用戶訪問不同的應(yīng)用系統(tǒng)時,每次都需要輸入賬號口令進(jìn)行身份認(rèn)證,系統(tǒng)應(yīng)用非常不便。1單點登錄關(guān)鍵技術(shù)1.1單點登錄SSO單點登錄(SingleSign10On)是一種訪問認(rèn)證機(jī)制[1],能夠?qū)崿F(xiàn)在多個應(yīng)用系統(tǒng)中,用戶只需要登錄認(rèn)證一次就直接訪問已授權(quán)的系統(tǒng),而不需要在訪問每個系統(tǒng)時都進(jìn)行身份認(rèn)證。單點登錄提供了統(tǒng)一
3、的身份認(rèn)證機(jī)制,有效解決了多次身份認(rèn)證帶來的不便與安全問題;通過提供統(tǒng)一的用戶管理,集中維護(hù)管理用戶信息、用戶賬號和資源授權(quán)。1.2LDAP目錄服務(wù)LDAP(LightweightDirectoryAccessProtocol)即輕量目錄訪問協(xié)議[2],它采用目錄樹的分層結(jié)構(gòu)存儲信息,具有目錄信息的檢索與管理功能,主要用于從服務(wù)器上檢索信息,實現(xiàn)對信息的有效管理和訪問。目錄服務(wù)(Directoryservice)通過將分布在計算機(jī)網(wǎng)絡(luò)中的用戶、資源和其他對象統(tǒng)一組織起來存儲為具有描述性屬性的對象,進(jìn)行統(tǒng)一的管理和控制。利
4、用目錄服務(wù)可以通過名稱快速查找和定位資源,而不必關(guān)心資源的具體位置[3],從而實現(xiàn)對資源的透明訪問。LDAP是一個運行于應(yīng)用層的協(xié)議,其目錄服務(wù)建立在C/S模式之上[4],所有的目錄信息數(shù)據(jù)都存儲在LDAP服務(wù)器中,每個LDAP服務(wù)器由目錄服務(wù)模塊、管理模塊和復(fù)制服務(wù)模塊三個部分組成[5]。目錄服務(wù)模塊由前端和后端兩個部分組成,前端主要完成客戶端與服務(wù)器之間的網(wǎng)絡(luò)通信,以及協(xié)議解析和分析[5];后端主要負(fù)責(zé)目錄數(shù)據(jù)庫的管理。管理模塊主要承擔(dān)目錄信息的管理與維護(hù)工作,確保用戶獲取準(zhǔn)確的目錄信息。10復(fù)制服務(wù)模塊負(fù)責(zé)LDAP
5、服務(wù)器之間目錄數(shù)據(jù)的復(fù)制,確保目錄服務(wù)的一致性。1.3CASCAS(CentralAuthenticationService)是由耶魯大學(xué)設(shè)計開發(fā)的一個開源項目,旨在為Web應(yīng)用系統(tǒng)提供一種可靠的單點登錄方案。CAS通過獨立的認(rèn)證中心實現(xiàn)集中式的認(rèn)證。從體系結(jié)構(gòu)看,CAS由三個部分組成:CAS服務(wù)器(CASServer),CAS客戶端(CASClient)和用戶瀏覽器(WebBrowser)。1)CAS服務(wù)器需要獨立部署,主要負(fù)責(zé)用戶身份的統(tǒng)一認(rèn)證和應(yīng)用系統(tǒng)電子票據(jù)的校驗[6];2)CAS客戶端部署在應(yīng)用系統(tǒng)中,主要負(fù)責(zé)
6、處理對客戶端受保護(hù)資源的訪問請求??蛻舳藢⒄埱笾囟ㄏ虻紺AS服務(wù)器進(jìn)行認(rèn)證,認(rèn)證通過后,才可向用戶提供服務(wù);3)用戶瀏覽器是用戶訪問CAS客戶端的工具,需要支持HTTP、HTTPS重定向,能夠存儲安全Cookie。在CAS單點登錄系統(tǒng)中,認(rèn)證過程主要涉及三種票據(jù)[7]。1)ST(ServiceTicket):指用戶訪問某一個應(yīng)用系統(tǒng)的服務(wù)票據(jù),是由CAS服務(wù)器在用戶通過CAS認(rèn)證后生成的一個隨機(jī)參數(shù),用于校驗客戶端發(fā)送的ST,每次完成校驗后,ST將被自動銷毀,以確保其安全性;2)TGT(TicketGranting10T
7、icket):票據(jù)授權(quán)票據(jù),由CAS服務(wù)器生成,表明用戶已通過CAS身份認(rèn)證;3)TGC(TicketGrantingCookie):票據(jù)授權(quán)Cookie,用于存放TGT。由CAS服務(wù)器在用戶通過CAS認(rèn)證后生成,并保存在用戶瀏覽器的Cookie中。用戶單點登錄后訪問其他應(yīng)用系統(tǒng)時請求被重定向到CAS服務(wù)器,服務(wù)器主動獲取用戶的TGC,據(jù)此判斷用戶身份的合法性,用戶瀏覽器關(guān)閉TGC即失效。1.4LiferayLiferayPortal是由Liferay公司開發(fā)的構(gòu)建企業(yè)級門戶網(wǎng)站的開源軟件產(chǎn)品[8],基于J2EE架構(gòu),采
8、用了Java、Web、EJB、JMS等技術(shù),提供多種單點登陸接口,如CAS、LDAP、OpenID、OpenSSO等,支持多種主流數(shù)據(jù)庫,提供對多個系統(tǒng)的內(nèi)容集成,能夠?qū)崿F(xiàn)企業(yè)應(yīng)用系統(tǒng)資源、數(shù)據(jù)信息資源的統(tǒng)一集成,是一個完整的門戶系統(tǒng)解決方案。2單點登錄系統(tǒng)的設(shè)計與實現(xiàn)2.1單點登錄系統(tǒng)的系統(tǒng)結(jié)構(gòu)本系統(tǒng)通過結(jié)合CAS