專利名稱:一種跨域授權的設置、鑒權方法、相關裝置及系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及計算機應用領域,尤其涉及一種跨域授權的設置、簽權方法、相關裝置
及系統(tǒng)。
背景技術:
SNS (Social Network Site)網(wǎng)站,中文一般稱為社交網(wǎng)站服務器,是基于社會網(wǎng)絡關系系統(tǒng)思想建立的網(wǎng)絡虛擬社交網(wǎng)絡平臺。從Myspace到Facebook、開心網(wǎng)和校內(nèi)網(wǎng)等,國內(nèi)外的社交網(wǎng)站服務器已經(jīng)走向成熟,成為越來越多人日常生活的一部分。同時出現(xiàn)了大量提供給社交網(wǎng)站平臺中用戶的各種應用,該應用一般是應用服務器提供的,正是這些豐富多彩的社交應用,真正為用戶帶來了價值。應用網(wǎng)站服務器往往是和社交網(wǎng)站服務器分離獨立的,可以由不同的業(yè)務提供商運營,且應用網(wǎng)站服務器與社交網(wǎng)站服務器一般位于不同的域中。用戶在應用網(wǎng)站服務器中可以有很多的資源信息,如照片、視頻、日記、微型博客、網(wǎng)址收藏或位置信息等,而在社交網(wǎng)站服務器中則存儲著用戶的關系信息,如聯(lián)系人(也稱為好友列表等)和群組等信息。 用戶希望將自己在應用網(wǎng)站服務器的資源能夠有限制的分享給自己在社交網(wǎng)站中的某些聯(lián)系人或指定的群組,如果關系信息和資源信息在同一域內(nèi)時通過普通的權限設置即可實現(xiàn),而如果不在同一域內(nèi)時,則應用網(wǎng)站服務器不能未經(jīng)許可而隨意訪問用戶在社交網(wǎng)站服務器的關系信息,這樣,如何實現(xiàn)將應用網(wǎng)站服務器中的資源信息授權給不同域中的關系信息的用戶即跨域授權是一個目前需要解決的問題。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種跨域授權的設置、簽權方法、相關裝置及系統(tǒng),以實現(xiàn)將用戶處于第一域的資源信息授權給第二域的關系信息,從而可以提高用戶體驗。
本發(fā)明實施例提供一種跨域授權的設置方法,包括
接收用戶訪問資源信息的請求; 根據(jù)上述請求顯示包含所述用戶的資源信息的第一頁面,所述第一頁面是處于第一域的第一服務器提供的; 根據(jù)上述第一頁面顯示包含上述用戶的關系信息的第二頁面,所述第二頁面是處于第二域的第二服務器提供的; 接收用戶在上述第二頁面選擇對應于上述資源信息的關系信息; 向上述第一服務器發(fā)送上述資源信息和上述用戶在第二頁面中選擇的關系信息,
以便于第一服務器存儲上述選擇的關系信息與資源信息的對應記錄,并將上述對應記錄作
為訪問上述資源信息的授權信息。 本發(fā)明實施例還提供一種跨域授權的鑒權方法,其包括 接收用戶通過終端訪問處于第一域第一服務器中資源信息的請求; 獲取上述資源信息對應的授權信息,上述授權信息記錄有上述資源信息對應的處
6于第二域第二服務器的關系信息; 判斷上述用戶是否屬于上述關系信息; 如果是,則允許所述用戶訪問上述資源信息,否則拒絕上述用戶訪問上述資源信息。 本發(fā)明實施例還提供一種跨域授權的鑒權方法,其包括 接收用戶通過終端的請求; 根據(jù)上述請求獲取上述用戶的授權信息; 根據(jù)上述授權信息獲取上述用戶被授權訪問的資源信息; 將所述資源信息發(fā)送給所述終端。 本發(fā)明實施例還提供一種跨域授權的設置方法,其包括
接收用戶通過終端發(fā)送的訪問資源信息的請求; 根據(jù)上述請求向終端發(fā)送包含有資源信息的第一頁面,以便于上述終端根據(jù)所述第一頁面向第二域的第二服務器發(fā)送獲取關系信息的獲取請求,且上述終端獲取所述第二服務器發(fā)送的關系信息并將上述關系信息顯示在第二頁面; 接收終端發(fā)送的資源信息和用戶在所述第二頁面選擇對應于上述資源信息的關系信息,存儲所述選擇的關系信息與資源信息的對應記錄,并將所述對應記錄作為訪問上述資源信息的授權信息。 本發(fā)明實施例還提供一種終端,其包括 請求接收模塊,用于接收用戶訪問資源信息的請求; 顯示模塊,用于根據(jù)上述請求顯示包含有位于第一域的所述用戶的資源信息的第一頁面,根據(jù)上述第一頁面顯示包含有位于第二域的所述用戶的關系信息的第二頁面;
關系信息接收模塊,用于接收用戶在上述第二頁面選擇對應于上述資源信息的關系信息; 發(fā)送模塊,用于向第一服務器發(fā)送上述資源信息和在第二頁面中選擇的關系信息,以便于第一服務器存儲上述選擇的關系信息與資源信息的對應記錄,并將上述對應記錄作為訪問所述資源信息的授權信息。
本發(fā)明實施例還提供一種服務器,其特征在于,包括
接收模塊,用于接收用戶通過終端的請求; 獲取模塊,用于根據(jù)上述請求獲取上述用戶的授權信息,并根據(jù)上述授權信息獲取所述用戶被授權訪問的資源信息; 發(fā)送模塊,用于將上述資源信息發(fā)送給所述終端。
本發(fā)明實施例還提供一種服務器,其包括 接收模塊,用于接收用戶通過終端訪問處于第一域第一服務器中資源信息的請求; 獲取模塊,用于獲取上述資源信息對應的授權信息,上述授權信息記錄有上述資源信息對應的處于第二域第二服務器的關系信息; 處理模塊,用于判斷上述用戶是否屬于所述關系信息;在判斷為是時允許上述用
戶訪問上述資源信息,在判斷為否時拒絕上述用戶訪問上述資源信息。
本發(fā)明實施例還提供一種服務器,其包括
接收模塊,用于接收用戶通過終端發(fā)送的請求; 發(fā)送模塊,用于根據(jù)上述請求向終端發(fā)送包含有資源信息的第一頁面,以便于上
述終端根據(jù)所述第一頁面向第二域的第二服務器發(fā)送獲取關系信息的獲取請求,且所述終
端獲取所述第二服務器發(fā)送的關系信息并將上述關系信息顯示在第二頁面; 存儲模塊,用于接收終端發(fā)送的資源信息和用戶在所述第二頁面選擇對應于上述
資源信息的關系信息,存儲所述選擇的關系信息與資源信息的對應記錄,并將上述對應記
錄作為訪問所述資源信息的授權信息。 本發(fā)明實施例還提供一種跨域授權的系統(tǒng),其特征在于,包括 第一服務器,位于第一域,用于接收用戶通過終端發(fā)送的請求;根據(jù)上述請求向終端發(fā)送包含有資源信息的第一頁面,以便于上述終端根據(jù)所述第一頁面向第二域的第二服務器發(fā)送獲取關系信息的獲取請求,且上述終端獲取所述第二服務器發(fā)送的關系信息并將上述關系信息顯示在第二頁面;接收終端發(fā)送的資源信息和用戶在所述第二頁面選擇對應于所述資源信息的關系信息,存儲上述選擇的關系信息與資源信息的對應記錄,并將所述對應記錄作為訪問上述資源信息的授權信息; 第二服務器,位于第二域,用于向上述終端發(fā)送上述用戶的關系信息。 采用本發(fā)明實施例提供的跨域授權的設置、鑒權方法、終端、服務器及系統(tǒng),可以
實現(xiàn)了將用戶處于第一域的資源信息授權給位于該用戶在另一個域的關系信息如聯(lián)系人、
群組等,從而提高用戶的體驗。用戶可以直接利用第二服務器中自己已有的關系信息來對
第一服務器中的資源進行關聯(lián)授權,即用戶可從自己的視角來方便得對資源進行共享授權。
圖1為本發(fā)明一種實施例提供的一種跨域授權的設置方法的流程圖; 圖2為本發(fā)明又一種實施例提供的一種跨域授權的設置方法的流程圖; 圖3為本發(fā)明又一種實施例提供的一種跨域授權的設置方法的示意圖; 圖4為本發(fā)明另一種實施例提供的一種跨域授權的設置方法的流程圖; 圖5為本發(fā)明實施例提供的一種跨域授權的設置方法中終端的瀏覽器的示意圖; 圖6為本發(fā)明一種實施例提供的一種跨域授權的鑒權方法的流程圖; 圖7為本發(fā)明又一種實施例提供的一種跨域授權的鑒權方法的流程圖; 圖8為本發(fā)明另一種實施例提供的一種跨域授權的鑒權方法的流程圖; 圖9為本發(fā)明一種實施例提供的一種終端的結構示意圖; 圖10為本發(fā)明一種實施例提供的一種服務器的結構示意圖; 圖11為本發(fā)明又一種實施例提供的一種服務器的結構示意圖; 圖12為本發(fā)明另一種實施例提供的一種服務器的結構示意圖; 圖13為本發(fā)明一種實施例提供的一種跨域授權的系統(tǒng)的結構示意圖。
具體實施例方式本發(fā)明實施例提供一種跨域授權的設置方法,請參圖1所示,其包括
101 :接收用戶訪問資源信息的請求;
102:根據(jù)上述請求顯示包含上述用戶的資源信息的第一頁面,上述第一頁面是處 于第一域的第一服務器提供的; 103 :根據(jù)上述第一頁面顯示包含上述用戶的關系信息的第二頁面,上述第二頁面 是處于第二域的第二服務器提供的; 104 :接收用戶在上述第二頁面選擇對應于上述資源信息的關系信息; 105 :向上述第一服務器發(fā)送上述資源信息和在第二頁面中選擇的關系信息,以便
于第一服務器存儲上述選擇的關系信息與資源信息的對應記錄,并將上述對應記錄作為訪
問上述資源信息的授權信息。 采用上述實施例,可以實現(xiàn)將用戶處于第一域的資源信息授權給第二域的關系信 息,從而可以提高用戶體驗。 本發(fā)明提供的另外一種實施例中,處于第一域中的第一服務器,其存儲有用戶的 資源信息,如照片、視頻、網(wǎng)址收藏,博客日志等;處于與第一域不同的第二域中的第二服務 器,其存儲有該用戶的聯(lián)系人和群組等關系信息。如圖2所示,本發(fā)明實施例提供的一種跨 域授權的設置方法主要包括以下步驟
步驟201、終端接收用戶的訪問資源信息的請求。 用戶通過終端第一服務器中的資源信息,該訪問方式可以采用OpenID技術,即第
一服務器作為OpenID(開放身份標識)的依賴方,第二服務器作為OpenID的提供方,第一
服務器接收用戶使用OpenID身份標識進行,根據(jù)OpenID協(xié)議通過重定向方式,終端的瀏覽
器會被前轉(zhuǎn)到第二服務器的第二頁面上對用戶進行認證,用戶提供密碼或其它認證信息如
指紋等,通過上述認證后再通過重定向返回到第一服務器在終端上顯示的第一頁面,該第
一頁面上包含有有用戶的資源信息,如照片、視頻、網(wǎng)址收藏,博客日志等。 第一服務器亦可以在終端的瀏覽器端設置會話cookie用于維持當前的用戶會
話,后續(xù)該用戶訪問第一服務器時就不必再進行認證。如果該終端的瀏覽器禁用cookie,可
以直接在HTTP請求和響應消息中攜帶會話信息以維持當前用戶會話。這兩種維持會話的
方式都是互聯(lián)網(wǎng)業(yè)務中的常用技術,此處不再贅述。 除了可以采用OpenID技術外,還可以采用其他的跨域身份認證技術如單點(SS0,
Single Sign On),包括0penSS0和微軟Passport等,來簡化用戶的資源信息的授權過程,
用戶可以通過終端的瀏覽器登錄一次第一服務器,后續(xù)需要對資源信息授權時用戶瀏覽器
可直接訪問第二服務器獲取用戶的關系信息,而無需再次在第二服務器進行認證。 當然如果不想使用額外的跨域身份認證技術,也可以讓用戶在訪問第一服務器后
再訪問第二服務器以獲取用戶的關系信息,即再單獨一次第二服務器即可。 步驟202、第一服務器通過用戶終端的瀏覽器顯示第一頁面,即第一服務器中的資
源信息的授權頁面,該第一頁面中顯示有資源信息,以及確定授權的按鈕或超鏈接。該第一
頁面中的超文本代碼(包括腳本代碼)都由第一服務器生成,且由該第一服務器發(fā)送到用
戶終端的瀏覽器端顯示。 步驟203、根據(jù)上述第一頁面顯示包含關系信息的第二頁面。 終端的瀏覽器還顯示有包括用戶的關系信息的第二頁面,該第二頁面的超文本代 碼(包括腳本代碼)由第二服務器生成。該第二頁面可以有多種顯示方式,如在第一頁面 中以iframe (Inline Frame,內(nèi)聯(lián)框架)的形式顯示,或者當在第一頁面點擊某個按鈕或鏈接時,彈出一個新的瀏覽器頁面顯示用戶的關系信息如聯(lián)系人和群組等。 第二頁面中又包括一個指向第一服務器的iframe框架頁面,稱為第三頁面, 一般
設為隱藏風格。通過上述第二頁面中指向第一服務器的iframe框架頁面,可以突破瀏覽器
中無法直接進行跨域通信的限制,使第一服務器與第二服務器可以通過用戶的瀏覽器進行
信息的傳遞和交流。 請參圖3所示,第一頁面中以iframe的形式顯示第二頁面,可見通過一個從第一 服務器的第一頁面到第二服務器的第二頁面,再到第一服務器的第三頁面,再回到第一服 務器的第一頁面這樣的一個環(huán)狀信息傳遞通道,實現(xiàn)了關系信息在瀏覽器內(nèi)的跨域傳遞, 使第一服務器可以方便地獲得第二服務器中的用戶的關系信息,從而對應用中的資源進行 授權。 第二頁面可以通過在第一頁面中設置第二頁面的源地址來進行顯示,如可以在第 一頁面的javascript腳本函數(shù)中對iframe形式的第二頁面的源地址屬性進行設置,舉例 如下 〈a href = 〃 http://snsexample.com/relationship.php 〃 target = window, open(' http://snsexample. com/relationship.Php'); 如果用戶通過終端第一服務器時是由第二服務器進行身份認證,如采用OpenID 或單點等方式,即用戶在步驟101通過第二服務器的身份認證時,第二服務器可以在用戶 的終端的瀏覽器端設置相應的會話cookie項,該cookie項的數(shù)據(jù)可以包括會話標識等會 話信息,在當前會話內(nèi)用戶訪問第二服務器就可以不必進行認證了。即第二頁面先獲取用 戶的終端的瀏覽器端的cookie數(shù)據(jù),然后攜帶cookie數(shù)據(jù)向第二服務器請求獲取該用戶 的關系信息,并將得到的關系信息顯示在本頁面中。 如果第一服務器與第二服務器不能采用OpenID或單點等方式使用戶只在一個服 務器中進行身份認證,則用戶在第一服務器上之后,由于第二頁面對應的第二服務器沒有 相應的會話信息如cookie數(shù)據(jù),則第二頁面顯示用戶的關系信息之前,要提示用戶先第二 服務器上進行身份認證。 如圖4所示,第一頁面中包含資源信息,如照片,還有一個確定授權的按鈕。在第 一頁面中可以采用內(nèi)聯(lián)框架的形式包含第二頁面,第二頁面顯示的關系信息中可以包括聯(lián) 系人列表,聯(lián)系人可以分組顯示,如分組為同事、同學和家人等,在每個聯(lián)系人或分組名稱 前面顯示一個復選框。另外還可以顯示用戶創(chuàng)建或參與的一些公共群組以及群組成員,供 用戶選擇。無論是聯(lián)系人的分組,還是公共群組,都可以用唯一的組標識來表示。第二頁面 顯示的可以是聯(lián)系人的姓名或昵稱,以及群組的名稱,但在實際的信息傳送時,使用的一般 是聯(lián)系人的用戶標識,以及組標識。 除了上述的聯(lián)系人和群組,第二服務器還可以檢測最近與用戶曾經(jīng)有過通信的其 他用戶,如在第二服務器中有過發(fā)送消息,郵件,通過電話的記錄,然后將這些用戶也顯示 在第二頁面中。未來電信網(wǎng)和互聯(lián)網(wǎng)緊密融合,在電信運營商運營的第二服務器中,很容易
>顯示群組和聯(lián)系人〈/a>
或者按鈕的點擊事件對應腳本打開新頁面如獲得用戶的通信記錄(如短信,電話等),與用戶有過通信聯(lián)系的人不一定會在上述用戶的 聯(lián)系人和群組中,但有時用戶卻希望能與這些有過通信聯(lián)系的人臨時分享一些資源,這些 人(可以稱為臨時聯(lián)系人)的信息實際上也屬于用戶的關系數(shù)據(jù)。 另外,由于用戶可能對當前的資源信息已經(jīng)授權給了一些關系信息如聯(lián)系人或群 組,第一頁面還可以從第一服務器請求獲取該用戶對當前資源信息的已有授權信息,并將 已獲得授權的聯(lián)系人和群組信息等作為第二頁面源地址URL(統(tǒng)一資源定位符)的參數(shù)傳 遞給第二頁面。舉例如下 iframel. src ="http://snsexample. com/relationship. php#groups = group 1 ,, ? 其中書簽中的參數(shù)即該上述地址"#"后面的部分表示當前資源已經(jīng)授權給了群組 group1。
除了使用書簽參數(shù)外,也可以使用在源地址的查詢字符串"?"后包含參數(shù),如
iframe 1.src = "http://snsexample.com/re1ationshiP.Php groups = group 1 ,, ? 當然在需要使用同一個地址,通過iframe的URL傳送大量信息的情況下,書簽"#" 是最好的方式。 第二頁面可以在本窗口加載事件(window. onLoad)發(fā)生時,在當前頁面地址中 獲取上述參數(shù),然后在顯示用戶的關系信息時,根據(jù)上述參數(shù)將已經(jīng)獲得授權的群組如 gro卯l設置為選中狀態(tài)。由此用戶可以了解哪些關系信息如聯(lián)系人或群組已經(jīng)獲得授權訪 問當前資源信息。參數(shù)中同時包括群組和聯(lián)系人的例子如下 ifr咖el. src ="http://snsexample. com/relationshiP. Php#groups = groupl&
contacts = usera+userb,,; 上述地址中的參數(shù)表示當前資源已經(jīng)被授權給了群組groupl以及聯(lián)系人usera 禾口 userb。 groupl為纟且f示i只,usera禾口 userb為用戶f示i只。 步驟204、用戶在第二頁面中選擇關系信息,并將用戶所選擇的關系信息傳遞給第 三頁面。第二頁面在用戶通過終端選擇或取消選擇群組或聯(lián)系人的事件發(fā)生時(如對應聯(lián) 系人或群組的復選框的onClick事件),都將當前選中的關系信息(群組或聯(lián)系人)傳遞給 第三頁面,其傳遞的方法可以通過設置第三頁面的源地址屬性指定第三頁面的頁面地址,
并將用戶選擇的關系信息包含在地址參數(shù)中傳送給第三頁面。所設置的第三頁面的源地址 舉例如下 iframe2. src = "http://appexample. com/auth. php#groups = groupl+group2&
contacts = usera+userb+userc,,; 上述地址中的參數(shù)表示當前資源被選擇授權給群組groupl和gro卯2以及聯(lián)系人 usera、 userb禾口 userc。 步驟205、第三頁面將第二頁面發(fā)送的用戶選擇的關系信息傳遞給第一頁面。第 三頁面設置一個定時器函數(shù),每隔一預定的時間間隔如500毫秒執(zhí)行一次,在當前頁面地 址中的參數(shù)里獲取用戶選擇的關系信息,當其有變化時就傳遞給第一頁面。由于預定的 時間間隔很短(一般小于1秒),第三頁面獲取的這些關系信息可以實時反映用戶在第二 頁面做出的授權選擇,然后將這些關系信息(如"groups = groupl+gro卯2&contacts =
11usera+userb+userc")傳遞給第一頁面的相應腳本程序處理。因為第三頁面和第一頁面位 于同一域內(nèi),即都在第一服務器中,沒有跨域通信的問題,關系信息可以正常的進行傳遞。 對于內(nèi)聯(lián)框架形式的第二頁面,第三頁面中的處理腳本舉例如下 } setlnterval(transmit,500); 上述腳本在每隔500毫秒執(zhí)行一次上述transmit ()函數(shù),將本頁面的源地址中的 參,(艮卩window, location, hash X寸jS白勺內(nèi)容)4專iH纟合第一頁面(艮卩X寸象parent, parent) 的相應腳本程序(即上述receive函數(shù))處理。 對于彈出形式的第二頁面,第三頁面中的處理腳本舉例如下
function transmit (){ parent, opener, receive(window, location, hash); } setlnterval (transmit, 500); 其中第一頁面對應的為parent, opener對象,這與內(nèi)聯(lián)框架形式的第二頁面時不 同。 步驟206、在用戶確定為所選擇的聯(lián)系人和/或群組授權資源信息后,第一頁面將 用戶最終所選擇的關系信息和資源信息等提交給第一服務器。 第一頁面中包括一個確定授權的按鈕或超鏈接,可以命名為"共享"或"確定"等。 當該按鈕被用戶激活后,第一頁面將用戶最終所選擇的關系信息和資源信息等提交給第一 服務器服務器。第一服務器存儲用戶所選擇的關系信息與資源信息的對應記錄,并將該對 應記錄作為訪問該資源信息的授權信息。另外,上述授權信息中還可以包含授權時間,即第 一頁面將用戶最終所選擇的關系信息和對應的資源信息等提交給第一服務器的時間。
由以上步驟可見,第一服務器和第二服務器之間僅在終端的瀏覽器端就完成了對 應資源信息的關系信息的傳送,如已授權的關系信息從第一服務器的第一頁面?zhèn)魉徒o第二 服務器的第二頁面,以及用戶選擇的關系信息從第二服務器的第二頁面經(jīng)第三頁面?zhèn)魉徒o 第一頁面。不必在第一服務器和第二服務器之間直接傳送任何數(shù)據(jù),即可完成跨域的資源 授權,實現(xiàn)簡單高效,充分利用了終端的計算能力??梢允谷狈﹃P系信息的第一服務器充分 利用第二服務器中的用戶關系信息來增強自身應用的社交功能,吸引更多的用戶訪問。
本發(fā)明的另一實施例提供的一種跨域授權的設置方法中,如果用戶的終端瀏覽器 禁用cookie,為了保證跨域信息傳遞的安全性,在信息傳遞之前,首先在第一域與第二域之 間交換密碼,以后傳遞信息時都要帶上密碼,在接收到傳遞的信息時先要對密碼進行驗證。 請參圖5所示,具體過程如下 步驟301 、第一頁面獲取第一密碼。該第一密碼可以由第一頁面自行利用隨機函數(shù) 生成,或者從第一服務器請求獲取第一密碼。因為有些瀏覽器自身并不能利用隨機函數(shù)生 成安全性較高的密碼,因此建議采用從服務器獲取密碼的方式,密碼可以為一個隨機字符 串??梢允褂玫谝环掌髋c用戶瀏覽器之間的會話標識(Session ID)作為第一密碼,因為 會話標識通常都是一個不可預測的隨機字符串。
步驟302、第一頁面將上述第一密碼傳遞給第二頁面。在第二頁面的窗口加載事件
(window. onLoad)中,獲取第一頁面在第二頁面的源地址中設置的密碼參數(shù),如可在書簽參
數(shù)中包含密碼。第二頁面將收到的第一密碼緩存,用于后續(xù)進行密碼驗證。 步驟303、第二頁面獲取第二密碼,并將該第二密碼發(fā)送給第三頁面。該第二密碼
同樣可以由第二頁面自行生成,或者從第二服務器請求獲取第二密碼,并將第二密碼傳遞
給第三頁面,也可以使用第二服務器與用戶瀏覽器之間的會話標識(Session ID)作為第二密碼。 步驟304、第三頁面再將第二密碼傳遞給第一頁面。第一頁面緩存該第二密碼,用 于后續(xù)進行密碼驗證。至此完成了第一服務器與第二服務器之間的跨域密碼交換。
步驟305、在后續(xù)傳送用戶選擇的關系信息時,第一頁面和第二頁面都要在設置的 URL書簽參數(shù)中分別帶上各自域所對應的密碼。如第一頁面在設置第二頁面的源地址屬性 時,攜帶密碼舉例如下 ifr咖el. src ="http://snsexample. com/relationship. php#groups = groupl&
password = qw3e45s32328f3nl"; 上述地址的書簽參數(shù)中除了關系信息外,還包括第一密碼"qw3e45s32328f3nl"。
步驟306、第二頁面對密碼進行驗證。在第二頁面的窗口加載事件中,取出本窗口 地址中書簽參數(shù)中的密碼如上述密碼"qw3e45s32328f 3nl ",然后將該密碼與之前緩存的第 一密碼進行對比驗證,驗證通過后才進行后續(xù)處理。如后續(xù)的步驟中需要取出參數(shù)中的已 授權的關系信息。 步驟307、第二頁面將用戶所選擇的關系信息傳遞給第三頁面時,也攜帶第二密 碼。 步驟308、第三頁面進行密碼驗證。在第三頁面的窗口定時器函數(shù)中,取出本窗口 地址中書簽參數(shù)中的密碼,然后將該密碼與之前緩存的第二密碼進行對比驗證,驗證通過 后才進行后續(xù)處理。 這樣在當前瀏覽器實例之外的其他地方訪問第二頁面或第三頁面對應地址的請 求,由于無法獲得上述密碼,因此不會泄漏用戶的關系信息或資源授權信息等。
本發(fā)明一種實施例提供的一種跨域授權的鑒權方法中,描述了其他用戶訪問第一 服務器中資源信息時的鑒權處理過程。為描述清楚,將擁有第一服務器中資源信息的用戶 稱為第一用戶,要訪問第一用戶的資源信息的用戶為第二用戶。假設第一用戶將第一服務 器中的資源信息如相冊P已經(jīng)授權給了群組A,群組A中的成員包含第二用戶。請參見圖 6,該實施例的步驟如下 步驟401、第一服務器接收第二用戶訪問第一用戶的資源信息如相冊P的請求,該 資源信息處于上述處于第一域中的第一服務器中,上述請求可以為第二用戶使用如OpenID 進行,也可以通過其他方式進行。 步驟402、第一服務器查詢并獲得第一用戶對該資源信息的授權信息,該授權信息
記錄有該資源信息對應的處于第二域第二服務器的關系信息。 步驟403、第一服務器判斷第二用戶是否屬于上述關系信息。 步驟404、如果是,則第一服務器允許第二用戶訪問上述資源信息,否則拒絕第二 用戶訪問上述資源信息。
通過上述實施例提供的方法,第一服務器能通過對用戶的驗證,將另一用戶授權 的資源信息共享給該用戶,從而可以提高用戶體驗。 為了讓第一服務器盡量少的獲得用戶的關系信息,如第二用戶所歸屬的全部群 組,而且第二用戶所歸屬的全部群組可能很多,第二服務器也不便于全部傳遞給第一服務 器,即本實施例中第一服務器僅存儲有第一用戶的資源信息所對應的聯(lián)系人信息和群組的 標識,而不保存群組中的具體聯(lián)系人。本發(fā)明又一種實施例提供的跨域授權的鑒權方法的 步驟具體請參見圖7: 步驟501、第一服務器接收第二用戶訪問第一用戶的資源信息如相冊P的請求。該 第二用戶上述第一服務器可以采用OpenID的方式,也可以采用其他的方式。
步驟502、第一服務器根據(jù)上述資源信息獲取第一用戶對該資源信息的授權信息 記錄,并判斷第二用戶是否為已被授權的聯(lián)系人(包括臨時聯(lián)系人),如果是,則允許第二 用戶訪問,結束本流程;否則執(zhí)行步驟503。 步驟503、第一服務器將第一用戶對該資源的授權信息記錄中所授權的群組標識 以及第二用戶的標識發(fā)送給第二服務器,請求第二服務器判定第二用戶是否為上述所授權 的群組的成員。當?shù)诙脩魹樗跈嗟娜航M中至少其中之一的成員時,則第二服務器返回 肯定的判定結果。 步驟504、第一服務器接收第二服務器返回的判定結果,如果判定結果為肯定結 果,則第一服務器允許第二用戶訪問,否則禁止訪問。 通過上述實施例提供的方法,第一服務器能通過對用戶的驗證,將另一用戶授權 的資源信息共享給該用戶,從而可以提高用戶體驗。 為了在用戶登錄第一服務器后,即可顯示該用戶有權限訪問的其他用戶共享的資 源,方便用戶獲知自己有哪些可訪問的資源,本發(fā)明另一種實施例提供的一種跨域授權的 鑒權方法請參照圖8,主要包括步驟 步驟601、第一服務器接收第二用戶的訪問請求,并在存儲的授權信息中檢索出上 述第二用戶所歸屬的群組所對應的被授權訪問的資源信息,以及第二用戶自身對應的被授 權訪問的資源信息。由于被檢索出的資源可能很多,因此可以用對應的授權時間來篩選資 源,如只檢索出授權時間為預定時期內(nèi)(如最近一周內(nèi))的被授權訪問的資源,或者最新的 (授權時間最接近當前時間)預定數(shù)量(如最近被授權的前10項)資源等。
步驟602、將上述資源信息顯示在第二用戶后的頁面中。通過上述方案,可見為用 戶提供了一個個性化的后的首頁,顯示用戶可以訪問的資源。尤其是那些最近被共享的資 源。 本發(fā)明實施例提供的方法能使用戶登錄第一服務器后,即可顯示該用戶有權限訪
問的其他用戶共享的資源信息,從而提高用戶體驗。 本發(fā)明一種實施例提供一種終端7,請參圖9所示,其包括 請求接收模塊71,用于接收用戶訪問資源信息的請求; 顯示模塊72,用于根據(jù)上述請求顯示包含有位于第一域的上述用戶的資源信息的 第一頁面,根據(jù)上述第一頁面顯示包含有位于第二域的所述用戶的關系信息的第二頁面;
關系信息接收模塊73,用于接收用戶在上述第二頁面選擇對應于上述資源信息的
關系信息;
14
發(fā)送模塊74,用于向第一服務器發(fā)送上述資源信息和所述用戶在第二頁面中選擇 的關系信息,以便于第一服務器存儲上述選擇的關系信息與資源信息的對應記錄,并將上 述對應記錄作為訪問上述資源信息的授權信息。
進一步地, 請求接收模塊71還用于接收第一服務器根據(jù)上述請求發(fā)送的已有授權信息,上
述已有授權信息中包括用戶已選擇的關系信息與資源信息的對應記錄; 上述顯示模塊72還用于根據(jù)上述已有授權信息在第二頁面中顯示上述用戶已
選擇的關系信息。 進一步地,上述第二頁面為位于第一頁面中的內(nèi)聯(lián)框架頁面或為在第一頁面里點 擊超鏈接或按鈕打開的新頁面。 本發(fā)明實施例提供一種服務器8,請參圖IO所示,其包括
接收模塊81,用于接收用戶通過終端的請求; 獲取模塊82,用于根據(jù)上述請求獲取上述用戶的授權信息,并根據(jù)上述授權信息 獲取上述用戶被授權訪問的資源信息; 發(fā)送模塊83,用于將上述資源信息發(fā)送給上述終端。 進一步地,上述獲取模塊82具體用于根據(jù)上述授權信息獲取上述用戶在最近預 定時間的被授權訪問的資源信息或為預定數(shù)量的最新被授權訪問的資源信息;上述發(fā)送模 塊具體用于將上述用戶在最近預定時間的被授權訪問的資源信息或為預定數(shù)量的最新被 授權訪問的資源信息發(fā)送給上述終端。 本發(fā)明實施例還提供一種服務器9,請參圖11所示,其包括 接收模塊91,用于接收用戶通過終端訪問處于第一域第一服務器中資源信息的請 求; 獲取模塊92,用于獲取上述資源信息對應的授權信息,上述授權信息記錄有上述 資源信息對應的處于第二域第二服務器的關系信息; 處理模塊93,用于判斷上述用戶是否屬于上述關系信息;在判斷為是時允許上述
用戶訪問上述資源信息,在判斷為否時拒絕上述用戶訪問上述資源信息。 進一步地,上述關系信息包括聯(lián)系人或群組; 上述處理模塊93具體用于判斷上述用戶是否屬于上述關系信息中的聯(lián)系人,如 果是,則允許上述用戶訪問上述資源信息,并結束本流程;若否,則將上述關系信息中的群 組以及上述用戶的標識發(fā)送給第二服務器,以便于第二服務器判斷所述用戶是否屬于上述 群組;接收上述第二服務器發(fā)送的判斷結果,若上述判斷結果為是,則允許用戶訪問所述資 源信息,否則拒絕上述用戶訪問所述資源信息。 本發(fā)明實施例還提供一種服務器IO,請參圖12所示,其包括
接收模塊101,用于接收用戶通過終端發(fā)送的請求; 發(fā)送模塊102,用于根據(jù)上述請求向終端發(fā)送包含有資源信息的第一頁面,以便于
上述終端根據(jù)所述第一頁面向第二域的第二服務器發(fā)送獲取關系信息的獲取請求,且上述
終端獲取所述第二服務器發(fā)送的關系信息并將所述關系信息顯示在第二頁面; 存儲模塊103,用于接收終端發(fā)送的資源信息和用戶在上述第二頁面選擇對應于
上述資源信息的關系信息,存儲上述選擇的關系信息與資源信息的對應記錄,并將上述對
15應記錄作為訪問上述資源信息的授權信息。
進一步地, 上述發(fā)送模塊102還用于根據(jù)上述請求向終端發(fā)送存儲的已有授權信息,上述
已有授權信息中包括用戶已選擇的關系信息與資源信息的對應記錄。
本發(fā)明實施例還提供一種跨域授權的系統(tǒng)ll,請參圖13所示,其包括 第一服務器lll,位于第一域,用于接收用戶通過終端發(fā)送的請求; 根據(jù)上述請求向終端發(fā)送包含有資源信息的第一頁面,以便于上述終端根據(jù)所述
第一頁面向第二域的第二服務器112發(fā)送獲取關系信息的獲取請求,且上述終端獲取所述
第二服務器112發(fā)送的關系信息并將上述關系信息顯示在第二頁面;接收終端發(fā)送的資源
信息和用戶在上述第二頁面選擇對應于上述資源信息的關系信息,存儲上述選擇的關系信
息與資源信息的對應記錄,并將上述對應記錄作為訪問所述資源信息的授權信息; 第二服務器112,位于第二域,用于向所述終端發(fā)送上述用戶的關系信息。 通過上述實施例提供的終端、服務器及系統(tǒng),可以實現(xiàn)將用戶處于第一域的資源
信息授權給第二域的關系信息,從而可以提高用戶體驗。 本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分步驟是可以 通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,該 程序在運行時,執(zhí)行上述實施例方法中的全部或部分步驟。上述提到的存儲介質(zhì)可以是只 讀存儲器,磁盤或光盤等。 顯然,本領域的技術人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精 神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權利要求及其等同技術的范圍 之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
1權利要求
一種跨域授權的設置方法,其特征在于,包括接收用戶訪問資源信息的請求;根據(jù)所述請求顯示包含所述用戶的資源信息的第一頁面,所述第一頁面是處于第一域的第一服務器提供的;根據(jù)所述第一頁面顯示包含所述用戶的關系信息的第二頁面,所述第二頁面是處于第二域的第二服務器提供的;接收用戶在所述第二頁面選擇對應于所述資源信息的關系信息;向所述第一服務器發(fā)送所述資源信息和所述用戶在第二頁面中選擇的關系信息,以便于第一服務器存儲所述選擇的關系信息與資源信息的對應記錄,并將所述對應記錄作為訪問所述資源信息的授權信息。
2. 如權利要求l所述的方法,其特征在于,還包括接收第一服務器根據(jù)所述請求發(fā)送的已有授權信息,所述已有授權信息中包括用戶已選擇的關系信息與資源信息的對應記錄;所述根據(jù)所述第一頁面顯示包含有所述用戶的關系信息的第二頁面具體為所述第一頁面接收所述已有授權信息并將所述已有授權信息發(fā)送給第二頁面;第二頁面顯示所述已有授權信息中用戶已選擇的關系信息。
3. 如權利要求2所述的方法,其特征在于所述第二頁面為位于第一頁面中的內(nèi)聯(lián)框架頁面,所述第一頁面將所述已有授權信息發(fā)送給第二頁面具體為所述第一頁面通過設置第二頁面的源地址屬性指定第二頁面的頁面地址,將所述已有授權信息包含在地址參數(shù)中傳送給第二頁面;或所述第二頁面為在第一頁面里點擊超鏈接或按鈕打開的新頁面,所述第一頁面將所述已有授權信息發(fā)送給第二頁面具體為所述第一頁面通過設置所述超鏈接或按鈕對應的頁面地址將所述已有授權信息包含在地址參數(shù)中傳送給第二服務器的第二頁面。
4. 如權利要求3所述的方法,其特征在于所述第二頁面顯示所述已有授權信息中用戶已選擇的關系信息具體為所述第二頁面在窗口加載事件中取出第二頁面地址中包含有已有授權信息的參數(shù),并根據(jù)所述已有授權信息,顯示用戶已選擇的關系信息。
5. 如權利要求l-4所述的方法,其特征在于所述第二頁面中包含有指向第一頁面的第三頁面,所述第三頁面為內(nèi)聯(lián)框架頁面;所述接收用戶在所述第二頁面選擇對應于所述資源信息的關系信息具體為所述第一頁面接收第二頁面通過設置所述第三頁面的源地址屬性指定第三頁面的頁面地址,將用戶所選擇的關系信息包含在地址參數(shù)中傳送給第一頁面。
6. 如權利要求5所述的方法,其特征在于所述第三頁面在預定的時間內(nèi)檢測所述第三頁面的源地址屬性中的地址參數(shù)是否發(fā)生變化,并在所述地址參數(shù)發(fā)生變化時將變化的地址參數(shù)發(fā)送給所述第一頁面。
7. 如權利要求6所述的方法,其特征在于所述第三頁面將用戶所選擇的關系信息發(fā)送給第一頁面具體為所述第三頁面通過調(diào)用第一頁面的腳本函數(shù)處理所述源地址屬性中的參數(shù),將用戶所選擇的關系信息傳送給第一頁面。
8. 如權利要求5所述的方法,其特征在于還包括第一頁面和第二頁面分別生成各自的密碼;第一頁面和第二頁面交換和保存對方的密碼;后續(xù)第一頁面和第二頁面之間進行信息傳送時,第一頁面或第二頁面生成各自新的密碼并發(fā)送給對方,第一頁面或第二頁面將保存的密碼與對方發(fā)送過來的新密碼進行驗證,當?shù)谝豁撁婊虻诙撁鎸Ψ桨l(fā)送過來的新密碼驗證成功時才進行相應的處理。
9. 如權利要求5所述的方法,其特征在于所述用戶選擇的關系信息或已有授權信息是通過設置在頁面地址的查詢字符串參數(shù)或書簽參數(shù)中發(fā)送的。
10. —種跨域授權的鑒權方法,其特征在于,包括接收用戶通過終端訪問處于第一域第一服務器中資源信息的請求;獲取所述資源信息對應的授權信息,所述授權信息記錄有所述資源信息對應的處于第二域第二服務器的關系信息;判斷所述用戶是否屬于所述關系信息;如果是,則允許所述用戶訪問所述資源信息,否則拒絕所述用戶訪問所述資源信息。
11. 如權利要求10所述的方法,其特征在于所述關系信息包括聯(lián)系人或群組;所述判斷所述用戶是否屬于所述關系信息;如果是,則允許所述用戶訪問所述資源信息,否則拒絕所述用戶訪問所述資源信息的步驟具體為判斷所述用戶是否屬于所述關系信息中的聯(lián)系人,如果是,則允許所述用戶訪問所述資源信息,并結束本流程;若否,則執(zhí)行下述的步驟將所述關系信息中的群組以及所述用戶的標識發(fā)送給第二服務器,以便于第二服務器判斷所述用戶是否屬于所述群組;接收所述第二服務器發(fā)送的判斷結果,若所述判斷結果為是,則允許用戶訪問所述資源信息,否則拒絕所述用戶訪問所述資源信息。
12. —種跨域授權的鑒權方法,其特征在于,包括接收用戶通過終端的訪問請求;根據(jù)所述請求獲取對應于所述用戶的授權信息;根據(jù)所述授權信息獲取所述用戶被授權訪問的資源信息;將所述資源信息發(fā)送給所述終端。
13. 如權利要求12所述的方法,其特征在于,包括所述根據(jù)所述授權信息獲取所述用戶被授權訪問的資源信息具體為根據(jù)所述授權信息獲取所述用戶在最近預定時間的被授權訪問的資源信息或為預定數(shù)量的最新被授權訪問的資源信息;所述將所述資源信息顯示在所述用戶后的頁面上具體為將所述用戶在最近預定時間的被授權訪問的資源信息或為預定數(shù)量的最新被授權訪問的資源信息發(fā)送給所述終端。
14. 一種跨域授權的設置方法,其特征在于,包括接收用戶通過終端發(fā)送的訪問資源信息的請求;根據(jù)所述請求向終端發(fā)送包含有所述用戶的資源信息的第一頁面,以便于所述終端根據(jù)所述第一頁面向第二域的第二服務器發(fā)送獲取所述用戶的關系信息的獲取請求,且所述終端獲取所述第二服務器發(fā)送的所述用戶的關系信息并將所述關系信息顯示在第二頁面;接收終端發(fā)送的資源信息和用戶在所述第二頁面選擇對應于所述資源信息的關系信息,存儲所述選擇的關系信息與資源信息的對應記錄,并將所述對應記錄作為訪問所述資源信息的授權信息。
15. 如權利要求14所述的方法,其特征在于,還包括根據(jù)所述請求向終端發(fā)送存儲的已有授權信息,所述已有授權信息中包括用戶已選擇的關系信息與資源信息的對應記錄。
16. —種終端,其特征在于,包括請求接收模塊,用于接收用戶訪問資源信息的請求;顯示模塊,用于根據(jù)所述請求顯示包含有位于第一域的所述用戶的資源信息的第一頁面,根據(jù)所述第一頁面顯示包含有位于第二域的所述用戶的關系信息的第二頁面;關系信息接收模塊,用于接收用戶在所述第二頁面選擇對應于所述資源信息的關系信息;發(fā)送模塊,用于向第一服務器發(fā)送所述資源信息和所述用戶在第二頁面中選擇的關系信息,以便于第一服務器存儲所述選擇的關系信息與資源信息的對應記錄,并將所述對應記錄作為訪問所述資源信息的授權信息。
17. 如權利要求16所述的終端,其特征在于所述接收模塊還用于接收第一服務器根據(jù)所述請求發(fā)送的已有授權信息,所述已有授權信息中包括用戶已選擇的關系信息與資源信息的對應記錄;所述顯示模塊還用于根據(jù)所述已有授權信息在第二頁面中顯示所述用戶已選擇的關系信息。
18. 如權利要求16或17所述的終端,所述第二頁面為位于第一頁面中的內(nèi)聯(lián)框架頁面或為在第一頁面里點擊超鏈接或按鈕打開的新頁面。
19. 一種服務器,其特征在于,包括接收模塊,用于接收用戶通過終端發(fā)送的訪問請求;獲取模塊,用于根據(jù)所述請求獲取所述用戶的授權信息,并根據(jù)所述授權信息獲取所述用戶被授權訪問的資源信息;發(fā)送模塊,用于將所述資源信息發(fā)送給所述終端。
20. 如權利要求19所述的服務器,其特征在于,所述獲取模塊具體用于根據(jù)所述授權信息獲取所述用戶在最近預定時間的被授權訪問的資源信息或為預定數(shù)量的最新被授權訪問的資源信息;所述發(fā)送模塊具體用于將所述用戶在最近預定時間的被授權訪問的資源信息或為預定數(shù)量的最新被授權訪問的資源信息發(fā)送給所述終端。
21. —種服務器,其特征在于,包括接收模塊,用于接收用戶通過終端訪問處于第一域第一服務器中的資源信息的請求;獲取模塊,用于獲取所述資源信息對應的授權信息,所述授權信息記錄有所述資源信息對應的處于第二域第二服務器的關系信息;處理模塊,用于判斷所述用戶是否屬于所述關系信息;在判斷為是時允許所述用戶訪問所述資源信息,在判斷為否時拒絕所述用戶訪問所述資源信息。
22. 如權利要求21所述的服務器,其特征在于所述關系信息包括聯(lián)系人或群組;所述處理模塊具體用于判斷所述用戶是否屬于所述關系信息中的聯(lián)系人,如果是,則允許所述用戶訪問所述資源信息,并結束本流程;若否,則將所述關系信息中的群組以及所述用戶的標識發(fā)送給第二服務器,以便于第二服務器判斷所述用戶是否屬于所述群組;接收所述第二服務器發(fā)送的判斷結果,若所述判斷結果為是,則允許用戶訪問所述資源信息,否則拒絕所述用戶訪問所述資源信息。
23. —種服務器,其特征在于,包括接收模塊,用于接收用戶通過終端發(fā)送的請求;發(fā)送模塊,用于根據(jù)所述請求向終端發(fā)送包含有資源信息的第一頁面,以便于所述終端根據(jù)所述第一頁面向第二域的第二服務器發(fā)送獲取關系信息的獲取請求,且所述終端獲取所述第二服務器發(fā)送的關系信息并將所述關系信息顯示在第二頁面;存儲模塊,用于接收終端發(fā)送的資源信息和用戶在所述第二頁面選擇對應于所述資源信息的關系信息,存儲所述選擇的關系信息與資源信息的對應記錄,并將所述對應記錄作為訪問所述資源信息的授權信息。
24. 如權利要求23所述的服務器,其特征在于,發(fā)送模塊,還用于根據(jù)所述請求向終端發(fā)送存儲的已有授權信息,所述已有授權信息中包括用戶已選擇的關系信息與資源信息的對應記錄。
25. —種跨域授權的系統(tǒng),其特征在于,包括第一服務器,位于第一域,用于接收用戶通過終端發(fā)送的訪問資源信息的請求;根據(jù)所述請求向終端發(fā)送包含有所述用戶的資源信息的第一頁面,以便于所述終端根據(jù)所述第一頁面向位于第二域的第二服務器發(fā)送獲取關系信息的獲取請求,且所述終端獲取所述第二服務器發(fā)送的關系信息并將所述關系信息顯示在第二頁面;接收終端發(fā)送的資源信息和用戶在所述第二頁面選擇對應于所述資源信息的關系信息,存儲所述選擇的關系信息與資源信息的對應記錄,并將所述對應記錄作為訪問所述資源信息的授權信息;第二服務器,位于第二域,用于向所述終端發(fā)送所述用戶的關系信息。
全文摘要
本發(fā)明公開了一種跨域授權的設置方法,該方法包括步驟接收用戶訪問資源信息的請求;根據(jù)所述請求顯示包含資源信息的第一頁面,所述第一頁面是處于第一域的第一服務器提供的;根據(jù)所述第一頁面顯示包含所述用戶的關系信息的第二頁面,所述第二頁面是處于第二域的第二服務器提供的;接收用戶在所述第二頁面選擇對應于所述資源信息的關系信息;向所述第一服務器發(fā)送所述資源信息和在第二頁面中選擇的關系信息,以便于第一服務器存儲所述選擇的關系信息與資源信息的對應記錄,并將所述對應記錄作為訪問所述資源信息的授權信息。本發(fā)明實施例還公開了一種跨域授權的鑒權方法、終端、相關裝置及系統(tǒng),采用本發(fā)明實施例,可以實現(xiàn)將用戶處于第一域的資源信息授權給第二域的關系信息,從而可以提高用戶體驗。
文檔編號H04L29/06GK101771676SQ20081024217
公開日2010年7月7日 申請日期2008年12月31日 優(yōu)先權日2008年12月31日
發(fā)明者孫謙, 胡立新, 譚東暉 申請人:華為技術有限公司