資源描述:
《基于票據(jù)的單點(diǎn)登錄系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、基于票據(jù)的單點(diǎn)登錄系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)李曉永,王福喜(華北計(jì)算技術(shù)研究所,北京100083)摘要:針對(duì)傳統(tǒng)基于票據(jù)的e標(biāo)識(shí)了用戶的登錄時(shí)間,同時(shí)還可以設(shè)定Cookie的有效期,過(guò)了有效期,Cookie就會(huì)自動(dòng)失效,用戶若訪問(wèn)應(yīng)用服務(wù)就必須重新登錄,一般可以將有效期設(shè)為8h(一個(gè)工作日)。在Kerberos協(xié)議中,由于TGT可以重復(fù)使用,因此對(duì)于其安全性要求非常高,在本方案中,為防止該Cookie被非法盜用,Cookie的發(fā)放通道采用了基于SSL的安全通道,同時(shí)Cookie中的內(nèi)容也進(jìn)行了加密,認(rèn)證服務(wù)器提取Cookie信息后需要首先解密,再加上對(duì)Cookie設(shè)置
2、的有效期,保證了其在傳輸和使用上的安全。圖3描述了用戶訪問(wèn)l配置文件內(nèi)添加如下所示的配置代碼,即可成功部署單點(diǎn)登錄系統(tǒng),避免“硬編碼”形式給系統(tǒng)部署帶來(lái)的不便。(1)<filter>(2)<filter?name>HttpProxy</filter?name>(3)<filter?class>.nci.filter.LoginFilter</filter?class>(4)<init?param>(5)<param?name>IDPLoginURL</param?na
3、me>(6)<param?value>https://192.168.31.111:8080/IAServer/Log?inServer</param?value>(7)</init?param>(8)<init?param>(9)<param?name>IDPServiceURL</param?name>(10)<param?value>https://192.168.31.111:8080/IAServer/ser?vices</param?value>
4、;(11)</init?param>(12)</filter>(13)<filter?mapping>(14)<filter?name>HttpProxy</filter?name>(15)<url?pattern>/*</url?pattern>(16)</filter?mapping>單點(diǎn)登錄代理組件采用了servlet的filter技術(shù),代碼中的第(6)行配置了單點(diǎn)登錄服務(wù)器的登錄請(qǐng)求處理地址,初次進(jìn)行身份認(rèn)證的請(qǐng)求被重定向至該地址;第(10)行配置了單點(diǎn)
5、登錄服務(wù)器的地址,單點(diǎn)登錄代理組件拿到請(qǐng)求訪問(wèn)者的票據(jù)后,需要通過(guò)該地址與單點(diǎn)登錄服務(wù)器進(jìn)行通信來(lái)獲取用戶的身份信息;第(15)行配置了所要攔截的URL形式(圖中配置的URL形式為攔截所有Web請(qǐng)求)。單點(diǎn)登錄代理組件的配置方式避免了與業(yè)務(wù)服務(wù)器的功能耦合,可以在無(wú)需對(duì)Web應(yīng)用修改的情況下部署并對(duì)Web應(yīng)用實(shí)施安全保護(hù),如果需要更換單點(diǎn)登錄服務(wù)器,只需更改配置代碼中的單點(diǎn)登錄服務(wù)器的地址即可。單點(diǎn)登錄服務(wù)器分為用戶登錄、票據(jù)(ST)管理、代理票據(jù)(PT)管理和斷言管理四個(gè)模塊。其中用戶登錄模塊負(fù)責(zé)驗(yàn)證用戶的登錄信息;票據(jù)管理模塊負(fù)責(zé)驗(yàn)證和管理用戶的訪問(wèn)票
6、據(jù);代理票據(jù)模塊負(fù)責(zé)驗(yàn)證和管理用戶的票據(jù)授權(quán)票據(jù)(TGT)和代理票據(jù);斷言管理模塊負(fù)責(zé)管理用戶的身份信息斷言。5實(shí)驗(yàn)結(jié)果及分析5.1實(shí)驗(yàn)環(huán)境為了驗(yàn)證單點(diǎn)登錄系統(tǒng)的正確性和有效性,本文針對(duì)Web應(yīng)用環(huán)境進(jìn)行了測(cè)試部署,其測(cè)試場(chǎng)景如圖6所示。測(cè)試環(huán)境中共部署一臺(tái)單點(diǎn)登錄服務(wù)器、一臺(tái)用戶終端和三臺(tái)Web應(yīng)用服務(wù)器,它們之間通過(guò)網(wǎng)絡(luò)連接,三臺(tái)Web應(yīng)用服務(wù)器都部署了單點(diǎn)登錄代理組件。其中Web應(yīng)用A與Web應(yīng)用B之間的調(diào)用關(guān)系為Web應(yīng)用B調(diào)用Web應(yīng)用A。5.2實(shí)驗(yàn)方法及結(jié)果本文圍繞單點(diǎn)登錄和組合應(yīng)用訪問(wèn)的單點(diǎn)登錄兩個(gè)功能開展測(cè)試實(shí)驗(yàn),為了更好地說(shuō)明實(shí)驗(yàn)結(jié)果,將
7、訪問(wèn)過(guò)程中涉及到的所有地址按順序全部打印出來(lái)。(1)單點(diǎn)登錄實(shí)驗(yàn)實(shí)驗(yàn)方法:用戶通過(guò)瀏覽器訪問(wèn)Web應(yīng)用A,訪問(wèn)成功后,通過(guò)瀏覽器訪問(wèn)Web應(yīng)用C。實(shí)驗(yàn)結(jié)果:?jiǎn)吸c(diǎn)登錄實(shí)驗(yàn)結(jié)果如表1所示。其中第1行至第4行顯示了用戶訪問(wèn)Web應(yīng)用A的訪問(wèn)過(guò)程,用戶需要登錄然后獲取票據(jù),認(rèn)證通過(guò)后成功訪問(wèn)Web應(yīng)用A;第5行與第6行顯示了用戶訪問(wèn)Web應(yīng)用C的訪問(wèn)過(guò)程,用戶不需要重新登錄即可成功攜帶票據(jù)訪問(wèn)Web應(yīng)用C,實(shí)現(xiàn)了單點(diǎn)登錄。(2)組合應(yīng)用訪問(wèn)單點(diǎn)登錄實(shí)驗(yàn)實(shí)驗(yàn)方法:用戶通過(guò)瀏覽器訪問(wèn)Web應(yīng)用B,Web應(yīng)用B調(diào)用Web應(yīng)用A。實(shí)驗(yàn)結(jié)果:組合應(yīng)用訪問(wèn)單點(diǎn)登錄實(shí)驗(yàn)結(jié)果如表
8、2所示。表中第1行至第5行顯示了用戶訪問(wèn)Web應(yīng)用B的訪問(wèn)過(guò)程;第