摘 要:文獻(xiàn)資源平臺(tái)通常匯聚各類文獻(xiàn)資源和服務(wù),在解決統(tǒng)一登錄時(shí),多項(xiàng)服務(wù)需自動(dòng)登錄,且需確保信息同步。該文以石家莊市文獻(xiàn)服務(wù)平臺(tái)解決統(tǒng)一登錄為例,提出通過(guò)循環(huán)驗(yàn)證Ajax登錄方式,實(shí)現(xiàn)異步加載信息同步,并給出實(shí)操。
關(guān)鍵詞:JavaScript Ajax跨域通信 統(tǒng)一登錄 異步加載 信息同步
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2016)10(c)-0082-02
我國(guó)社會(huì)經(jīng)濟(jì)的發(fā)展正在經(jīng)歷著重大轉(zhuǎn)型,科技創(chuàng)新的主導(dǎo)作用日益顯著。服務(wù)于區(qū)域經(jīng)濟(jì)建設(shè)、科技創(chuàng)新的科技文獻(xiàn)信息資源平臺(tái)在國(guó)內(nèi)各省市相繼建立并開(kāi)展服務(wù)。科技文獻(xiàn)平臺(tái)通常需要整合來(lái)自不同資源服務(wù)商提供的第三方數(shù)據(jù)平臺(tái)和第三方知識(shí)服務(wù)系統(tǒng),采用統(tǒng)一登錄的方式,提升用戶體驗(yàn)。
1 統(tǒng)一登錄中遇到的問(wèn)題
1.1 統(tǒng)一登錄定義
在多個(gè)應(yīng)用系統(tǒng)中,用戶只需要登錄一次就可以訪問(wèn)所有相互信任的應(yīng)用系統(tǒng)[1]。
1.2 統(tǒng)一登錄的一般流程
文獻(xiàn)平臺(tái)解決統(tǒng)一登錄的一般方法:用戶進(jìn)入任一應(yīng)用系統(tǒng)后,應(yīng)用系統(tǒng)會(huì)自動(dòng)調(diào)用ULS的驗(yàn)證接口進(jìn)行服務(wù)器驗(yàn)證,來(lái)確認(rèn)當(dāng)前用戶是否為已登錄用戶,如果是未登錄用戶或者出現(xiàn)其他錯(cuò)誤,則會(huì)自動(dòng)跳轉(zhuǎn)到ULS系統(tǒng)。此時(shí),在ULS上的已注冊(cè)的用戶可以在ULS上進(jìn)行登錄,登錄成功后即可返回應(yīng)用系統(tǒng)。而未注冊(cè)用戶則需要先在ULS上進(jìn)行注冊(cè),并且初始化賬號(hào),繼而重復(fù)上述步驟直到登錄成功[2]。
1.3 石家莊市科技文獻(xiàn)平臺(tái)的具體情況
石家莊文獻(xiàn)平臺(tái)整合了維普中文期刊、智立方、尚維全球產(chǎn)品樣本庫(kù)、超星電子書等多個(gè)第三方平臺(tái)及服務(wù)。其中維普中文期刊、超星電子書等第三方平臺(tái)的統(tǒng)一登錄通過(guò)常規(guī)的統(tǒng)一登錄流程得到了解決。同時(shí),文獻(xiàn)平臺(tái)為了強(qiáng)化應(yīng)用效果,需要將第三方平臺(tái)智立方中的搜索引擎及全球產(chǎn)品樣本庫(kù)中的行業(yè)資訊信息整合進(jìn)平臺(tái)首頁(yè),然而由于以上兩項(xiàng)服務(wù)不提供匿名服務(wù)接口,需要用戶進(jìn)行一次點(diǎn)擊操作才能獲取目標(biāo)平臺(tái)的登錄cookie,在用戶首次打開(kāi)文獻(xiàn)平臺(tái)首頁(yè)時(shí),第三方平臺(tái)處于未登錄狀態(tài),這些展示的內(nèi)容并沒(méi)有訪問(wèn)權(quán)限,無(wú)法實(shí)現(xiàn)自動(dòng)登錄。
2 Ajax跨域通信設(shè)計(jì)
針對(duì)以上問(wèn)題,文章設(shè)計(jì)出動(dòng)態(tài)異步加載(Ajax)方式,當(dāng)用戶打開(kāi)資源平臺(tái)首頁(yè)時(shí),利用腳本在瀏覽器后臺(tái)模擬一次用戶點(diǎn)擊,用以獲取目標(biāo)平臺(tái)的登錄cookie。
2.1 Ajax同源策略
同源策略,即一個(gè)腳本只能讀取與它同源的窗口或文檔的屬性,這里的“源”是指域名、端口或協(xié)議。該機(jī)制將來(lái)自不同域(假設(shè)域代表始發(fā)者)的Web應(yīng)用程序分離開(kāi)來(lái),也就是說(shuō),如果多個(gè)窗口或框架中的一些應(yīng)用程序是從不同的服務(wù)器下載的,那么它們無(wú)法互相訪問(wèn)數(shù)據(jù)和腳本,瀏覽器的腳本只被允許訪問(wèn)來(lái)自同一站點(diǎn)的資源[3]。
2.2 繞過(guò)同源策略
同源策略只是瀏覽器針對(duì)JavaScript腳本進(jìn)行的安全策略,在不能操作用戶瀏覽器的情況下,無(wú)法繞過(guò)同源策略。
在HTML中,
客服熱線:400-656-5456??客服專線:010-56265043??電子郵箱:longyuankf@126.com
電信與信息服務(wù)業(yè)務(wù)經(jīng)營(yíng)許可證:京icp證060024號(hào)
Dragonsource.com Inc. All Rights Reserved