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