国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

統(tǒng)一身份認(rèn)證服務(wù)器的研究與實(shí)現(xiàn)

2011-11-07 06:15洪丹丹
中國教育信息化 2011年3期
關(guān)鍵詞:用戶名單點(diǎn)票據(jù)

洪丹丹

(西安交通大學(xué) 信息與網(wǎng)絡(luò)中心,陜西 西安 710049)

統(tǒng)一身份認(rèn)證服務(wù)器的研究與實(shí)現(xiàn)

洪丹丹

(西安交通大學(xué) 信息與網(wǎng)絡(luò)中心,陜西 西安 710049)

目前解決惡意用戶非法操作的手段之一為身份認(rèn)證。經(jīng)過對訪問應(yīng)用的用戶進(jìn)行認(rèn)證,保證只有通過認(rèn)證的用戶才能訪問指定資源。同時(shí)為了保證無需多次注冊登錄就可以在多個(gè)應(yīng)用之間切換,享受各應(yīng)用提供的服務(wù),單點(diǎn)登錄統(tǒng)一身份認(rèn)證被廣泛應(yīng)用。本文詳細(xì)研究了JA-SIG CAS統(tǒng)一身份認(rèn)證系統(tǒng)的工作原理及其實(shí)施部署過程,對其中的關(guān)鍵技術(shù)進(jìn)行了詳細(xì)描述。

統(tǒng)一身份認(rèn)證;CAS;單點(diǎn)登錄

一、引言

為保證只有指定的或者通過認(rèn)證的用戶才能訪問系統(tǒng)受保護(hù)的資源,以往多數(shù)應(yīng)用程序如Web應(yīng)用,都采用用戶注冊機(jī)制來進(jìn)行控制,如只有已注冊用戶,憑密碼登錄系統(tǒng)之后,才能訪問Web敏感資源。但是隨之產(chǎn)生的問題也不容忽視。因?yàn)殡S著網(wǎng)絡(luò)和各種便攜式移動(dòng)網(wǎng)絡(luò)終端的普及,Web應(yīng)用的數(shù)量急劇增長。如果在訪問Web應(yīng)用時(shí),都需要注冊一次,且每次訪問不同Web應(yīng)用時(shí),都需進(jìn)行登錄操作,這是非常麻煩的事情。因此國內(nèi)外研究學(xué)者們便提出使用戶只注冊一次并登錄一次,就可以在多個(gè)應(yīng)用之間進(jìn)行訪問的思想,因此單點(diǎn)登錄統(tǒng)一身份認(rèn)證技術(shù)被廣泛地應(yīng)用起來。其原理如圖1所示。

單點(diǎn)登錄統(tǒng)一身份認(rèn)證關(guān)鍵作用在于每個(gè)Web 應(yīng)用并不直接認(rèn)證用戶,而是將用戶認(rèn)證委托給一個(gè)獨(dú)立的單點(diǎn)登錄服務(wù)器完成。這樣既可以減輕Web應(yīng)用的負(fù)擔(dān),同時(shí)認(rèn)證用戶的真實(shí)性就更加可靠,因?yàn)榈谌降恼J(rèn)證服務(wù)器多數(shù)都是可信任的。[1]認(rèn)證過程如下:[2]

(1)瀏覽器請求Web應(yīng)用程序的某個(gè)受保護(hù)的資源;

(2)Web應(yīng)用如果發(fā)現(xiàn)用戶尚未經(jīng)過認(rèn)證,就將用戶導(dǎo)向到SSO(Single Sign On,單點(diǎn)登錄)服務(wù)器登錄地址;

(3)瀏覽器被重定向到SSO服務(wù)器的登錄頁面,并提示用戶輸入用戶名和口令;

(4)如果用戶名和口令被SSO服務(wù)器成功認(rèn)證,則SSO服務(wù)器將瀏覽器重定向到原Web應(yīng)用的服務(wù)器,并且在URL(統(tǒng)一資源定位符)參數(shù)中包含一個(gè)票據(jù);

(5)Web應(yīng)用獲得了瀏覽器傳來的票據(jù)后,連接SSO服務(wù)器,檢查票據(jù)是否有效;

(6)SSO服務(wù)器若驗(yàn)證票據(jù)成功,則返回一個(gè)肯定的回復(fù)給Web應(yīng)用,整個(gè)驗(yàn)證過程接受。

從上面的過程可以看到,用戶認(rèn)證并不是通過Web應(yīng)用本身完成的,而是委托給SSO服務(wù)器完成的,因此,有多個(gè)Web應(yīng)用時(shí),用戶始終使用一個(gè)用戶名和口令通過SSO服務(wù)器登錄,這就是單點(diǎn)登錄的實(shí)現(xiàn)。此外,用戶看不到第5、6步,即Web應(yīng)用和SSO服務(wù)器通信的過程。由于只有SSO服務(wù)器才知道用戶名和票據(jù)的關(guān)系,因此用戶無法偽造票據(jù)。要保證用戶無法猜出SSO服務(wù)器生成的票據(jù),SSO服務(wù)器生成的票據(jù)就必須非常隨機(jī),以確保整個(gè)系統(tǒng)的安全。

由于單點(diǎn)登錄只能解決用戶的身份認(rèn)證問題,所以授權(quán)工作則交給其他對象來完成。本文將以JA-SIG CAS3.0協(xié)議為技術(shù),實(shí)現(xiàn)單點(diǎn)登錄統(tǒng)一身份認(rèn)證的目標(biāo)。

二、統(tǒng)一身份認(rèn)證系統(tǒng)工作機(jī)制

單點(diǎn)登錄統(tǒng)一身份認(rèn)證的過程意在從入口級保證Web應(yīng)用的安全。本文將研究采用開源的JA-SIG CAS3.0協(xié)議實(shí)現(xiàn)單點(diǎn)登錄統(tǒng)一身份認(rèn)證。

從物理體系結(jié)構(gòu)上分析,統(tǒng)一身份認(rèn)證服包含兩個(gè)部分:CAS服務(wù)器 和CAS客服端。CAS服務(wù)端需要獨(dú)立部署,主要負(fù)責(zé)對用戶的認(rèn)證工作;CAS客服端負(fù)責(zé)處理對客戶端受保護(hù)資源的訪問請求,需要登錄時(shí),重定向到CAS服務(wù)器。CAS最基本的協(xié)議過程時(shí)序如圖2所示。CAS客戶端與受保護(hù)的客戶端應(yīng)用部署在一起,以過濾器方式保護(hù)敏感資源。

在該協(xié)議中,所有與 CAS的交互均采用 SSL協(xié)議,確保服務(wù)票據(jù)和TGC的安全性。協(xié)議工作過程中會(huì)有2次重定向的過程,一次是重定向用戶請求到CAS服務(wù)器,另一次是將已通過認(rèn)證的用戶請求重定向到其所欲訪問的網(wǎng)絡(luò)地址。CAS服務(wù)器和客戶端之間的票據(jù)驗(yàn)證和重定向過程均不為用戶所見,對用戶是透明的。

此外,對于更加復(fù)雜且安全性要求更高的情況,可是使用CAS協(xié)議中為用戶提供的代理模式來完成此目標(biāo)。本文不涉及該代理模式,因此不予具體研究。

在該協(xié)議中,所有與CAS的交互均采用SSL協(xié)議,確保ST和TGC的安全性。

三、統(tǒng)一身份認(rèn)證服務(wù)器的實(shí)現(xiàn)

1.軟件的獲取

JA-SIG CAS是一款開源的單點(diǎn)登錄統(tǒng)一身份認(rèn)證軟件,它為企業(yè)提供開源且具有良好結(jié)構(gòu)的協(xié)議;且其開源Java服務(wù)組件可以為用戶提供二次開發(fā)的可能;與之相對應(yīng)的客戶端有多種,如 Java,.Net,PHP,Perl,Apache,Uportal等。

2.構(gòu)建用戶信息庫

CAS服務(wù)器的認(rèn)證依據(jù)是保存在服務(wù)器上的用戶信息庫。當(dāng)用戶提交的認(rèn)證信息與此信息庫的內(nèi)容相匹配時(shí),CAS服務(wù)器才會(huì)返回一個(gè)true或false,表明用戶身份的真假。

由于CAS服務(wù)器支持多種認(rèn)證方式,如LDAP認(rèn)證,JDBC認(rèn)證及XML文件認(rèn)證等,因此CAS提供了一種靈活但統(tǒng)一的接口域?qū)崿F(xiàn)分離的方式,實(shí)際使用中CAS采用哪種方式認(rèn)證是與CAS的基本協(xié)議分離開的,用戶可以根據(jù)認(rèn)證的接口去定制和擴(kuò)展。當(dāng)用戶信息相對穩(wěn)定,變化較小時(shí),可以采用輕量級目錄服務(wù)器LDAP,提高系統(tǒng)檢索效率;當(dāng)用戶信息需經(jīng)常變動(dòng)時(shí),可采用數(shù)據(jù)庫存儲(chǔ);當(dāng)用戶信息量較小時(shí),可以采用普通的XML文件方式。

本文為保證用戶密碼安全,要求用戶在一定時(shí)間內(nèi)必須修改自己的密碼,因此采用JDBC認(rèn)證方式,且使用MySQL數(shù)據(jù)庫構(gòu)建用戶信息庫,其表結(jié)構(gòu)如圖3所示。

3.統(tǒng)一身份認(rèn)證服務(wù)器的關(guān)鍵技術(shù)實(shí)現(xiàn)

(1)配置 HTTPS 協(xié)議

統(tǒng)一身份認(rèn)證服務(wù)器之所以要配置HTTPS協(xié)議,是因?yàn)樗且粋€(gè)http的安全版,具有安全的通信信道。使用它可以解決:在統(tǒng)一身份認(rèn)證服務(wù)器和客戶端之間建立安全的數(shù)據(jù)通道,實(shí)現(xiàn)客戶端與服務(wù)器二者之間的相互身份認(rèn)證。[3]其具體配置流程如圖4所示。具體實(shí)施步驟請參考文獻(xiàn)。[4]

(2)部署 CAS Server

CAS Server是一個(gè)Web應(yīng)用包,將前面下載的casserver-3.1.1-release.zip解開,把其中的cas-server-webapp-3.1.1.war拷貝到 tomcat的webapps目錄,并更名為 cas.war。由于前面已配置好 tomcat的HTTPS協(xié)議,可以重新啟動(dòng) tomcat,然后訪問:https://localhost:8443/cas,如果能出現(xiàn)正常的CAS登錄頁面,則說明CAS Server已經(jīng)部署成功。

雖然CAS Server已經(jīng)部署成功,但這只是一個(gè)缺省的實(shí)現(xiàn),在實(shí)際使用的時(shí)候,還需要根據(jù)實(shí)際概況做擴(kuò)展和定制,最主要的是擴(kuò)展認(rèn)證 (Authentication)接口和CAS Server的界面。界面在cas/WEB-INF/view/jsp/default。

(3)擴(kuò)展認(rèn)證接口

如果用戶的信息量比較大,一個(gè)單純的XML文件就不能滿足頻繁且大量的用戶信息查詢過程。因此可以通過配置一臺(tái)專門的用戶數(shù)據(jù)庫,保存其用戶名及密碼(JA-SIG CAS系統(tǒng)默認(rèn)已用戶的密碼來進(jìn)行身份信息的認(rèn)證)。如果用戶名和密碼信息被修改的概率比較低,且不頻繁,可以使用輕量級目錄服務(wù)器LDPA來建用戶信息庫。如果為了保證用戶身份的真實(shí)性,即保證能過戶的密碼安全,要求用戶定期或不定期的修改自身密碼,那么當(dāng)頻繁地修改操作,采用關(guān)系數(shù)據(jù)庫MySQL就比較方便。因?yàn)檩p量級LDPA在進(jìn)行信息修改時(shí),沒有MySQL進(jìn)行得容易。

本文以使用MySQL數(shù)據(jù)庫存儲(chǔ)用戶信息為例,實(shí)現(xiàn)擴(kuò)展認(rèn)證接口的關(guān)鍵技術(shù)如下:

用編輯器打開%CATALINA_HOME%/webapps/cas/WEB-INF/deployerConfigContext.xml,找到

2013年5月28~31日,我們來到五岳之首泰山腳下,齊聚在泰安田雨潤華國際酒店,召開了“中國腐植酸工業(yè)協(xié)會(huì)第五屆第五次理事會(huì)暨腐植酸本源性功能肥料可持續(xù)發(fā)展論壇”。

注釋掉該行,在其下加入:

添加一個(gè)新bean:

destroy-method="close'>

拷貝cas-server-jdbc-3.0.5-rc2.jar和mysql-connectorjava-3.1.12-bin.jar到%CATALINA_HOME%/webapps/cas/WEB-INF/lib下。

(4)配置 CAS客戶端

統(tǒng)一身份認(rèn)證服務(wù)器建設(shè)完畢之后,如果某應(yīng)用程序需使用該認(rèn)證服務(wù)器進(jìn)行用戶身份認(rèn)證,需在該應(yīng)用程序的類庫中加入統(tǒng)一身份認(rèn)證客戶端的jar文件(通常名為casclient.jar,并可在網(wǎng)絡(luò)上下載到),并在應(yīng)用程序配置文件中進(jìn)行統(tǒng)一身份認(rèn)證服務(wù)器客戶端的配置。具體如圖5所示。

四、結(jié)束語

統(tǒng)一身份認(rèn)證技術(shù)已成為當(dāng)今網(wǎng)管及研究人員的關(guān)注重點(diǎn)。如何搭建高效的CAS服務(wù)器、實(shí)現(xiàn)用戶身份的認(rèn)證是保證網(wǎng)絡(luò)應(yīng)用安全的首要問題。本文結(jié)合統(tǒng)一身份認(rèn)證原理,詳細(xì)介紹了CAS服務(wù)器的搭建過程及相關(guān)關(guān)鍵技術(shù),介紹了如何擴(kuò)展CAS服務(wù)器的接口,使之有效地與外界數(shù)據(jù)庫進(jìn)行整合 (如 MySQL,LDPA等),并以鏈接MySQL數(shù)據(jù)庫為例,介紹用戶庫的設(shè)計(jì)與實(shí)現(xiàn)。最后對CAS服務(wù)器的客戶端配置和頁面擴(kuò)展進(jìn)行了陳述。

[1]嵇智輝,倪宏,劉磊等.一種基于雙令牌機(jī)制的單點(diǎn)登錄模型研究[J].計(jì)算機(jī)工程與應(yīng)用,2008,44(30):131-134.

[2]廖雪峰.Spring2.0核心技術(shù)與最佳實(shí)踐[M].北京:電子工業(yè)出版社,2007:120-200.

[3]茹惠素.基于HTTPS協(xié)議的統(tǒng)一登錄系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].浙江工業(yè)大學(xué)學(xué)報(bào),2008(36):527-530.

(編輯:楊馥紅)

G482

B

1673-8454(2011)03-0016-03

猜你喜歡
用戶名單點(diǎn)票據(jù)
《護(hù)士進(jìn)修雜志》投稿程序
《護(hù)士進(jìn)修雜志》投稿程序
歷元間載波相位差分的GPS/BDS精密單點(diǎn)測速算法
《護(hù)士進(jìn)修雜志》投稿程序
機(jī)智的快遞員
2016年11月底中短期票據(jù)與央票收益率點(diǎn)差圖
2016年10月底中短期票據(jù)與央票收益率點(diǎn)差圖
數(shù)字電視地面?zhèn)鬏斢脝晤l網(wǎng)與單點(diǎn)發(fā)射的效果比較
2016年9月底中短期票據(jù)與央票收益率點(diǎn)差圖
企業(yè)信息門戶單點(diǎn)登錄方案設(shè)計(jì)