欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種單點登錄的方法及系統(tǒng)、一種認證中心服務器與流程

文檔序號:11524146閱讀:225來源:國知局
一種單點登錄的方法及系統(tǒng)、一種認證中心服務器與流程

本發(fā)明涉及計算機技術領域,特別涉及一種單點登錄的方法及系統(tǒng)、一種認證中心服務器。



背景技術:

隨著科技的快速發(fā)展,同一個用戶可能在多個不同的應用系統(tǒng)中都注冊有賬號,同一個企業(yè)中也一般包括多個應用系統(tǒng),通過單點登錄可以方便用戶登錄不同的應用系統(tǒng)。

現(xiàn)有技術中,當用戶通過門戶系統(tǒng)第一次登錄某個應用系統(tǒng)時,需要對該用戶進行身份認證,當該用戶下次登錄時,無需再進行身份認證,并且可以直接登錄到該門戶系統(tǒng)對應的各個應用系統(tǒng)中。舉例來說,門戶系統(tǒng)對應應用系統(tǒng)a和應用系統(tǒng)b,用戶a第一次通過門戶系統(tǒng)登錄應用系統(tǒng)a時,需要對用戶a進行身份認證,通過身份認證后才可以單點登錄應用系統(tǒng)a,當用戶a下次登錄時,無需再進行身份認證,并且,用戶a也可以直接通過門戶系統(tǒng)單點登錄到應用系統(tǒng)b中。

通過上述描述可見,現(xiàn)有技術中單點登錄的方案中,非法用戶能夠輕易利用合法用戶第一次登錄時的記錄訪問各個應用系統(tǒng),安全性較低。



技術實現(xiàn)要素:

本發(fā)明實施例提供了一種單點登錄的方法及系統(tǒng)、一種認證中心服務器,能夠提高單點登錄的安全性。

第一方面,本發(fā)明實施例提供了一種單點登錄的方法,應用于認證中心服務器,包括:

接收發(fā)起登錄請求的系統(tǒng)發(fā)來的申請令牌的請求;

獲取所述申請令牌的請求對應的用戶的用戶信息;

根據(jù)所述申請令牌的請求,生成令牌;

保存所述令牌的認證信息和所述用戶信息;

向所述發(fā)起登錄請求的系統(tǒng)發(fā)送所述令牌,以使所述發(fā)起登錄請求的系統(tǒng)向要登錄到的系統(tǒng)發(fā)送所述令牌;

接收所述要登錄到的系統(tǒng)發(fā)來的所述令牌;

根據(jù)保存的所述令牌的認證信息,對所述要登錄到的系統(tǒng)發(fā)來的所述令牌進行驗證,當所述令牌通過驗證時,允許所述用戶登錄到所述要登錄到的系統(tǒng),向所述要登錄到的系統(tǒng)發(fā)送所述用戶信息,以使所述要登錄到的系統(tǒng)根據(jù)所述用戶信息創(chuàng)建所述用戶的用戶會話。

進一步地,所述申請令牌的請求中包括:所述令牌對應的所述要登錄到的系統(tǒng)的目標地址;

在所述接收發(fā)起登錄請求的系統(tǒng)發(fā)來的申請令牌的請求之后,進一步包括:

從所述申請令牌的請求中獲取所述目標地址;

所述令牌的認證信息包括:所述令牌的生成時間、所述目標地址;

進一步包括:預先設置令牌失效時間長度;

所述根據(jù)保存的所述令牌的認證信息,對所述令牌進行驗證,包括:

判斷所述要登錄到的系統(tǒng)發(fā)來的所述令牌是否滿足:接收到所述要登錄到的系統(tǒng)發(fā)來的所述令牌的時間與所述令牌的生成時間的時間差不大于所述令牌失效時間長度,且保存的所述目標地址與發(fā)來所述令牌的系統(tǒng)的地址相同,如果是,則判定所述要登錄到的系統(tǒng)發(fā)來的所述令牌通過驗證,否則,判定所述要登錄到的系統(tǒng)發(fā)來的所述令牌沒有通過驗證。

進一步地,在所述接收發(fā)起登錄請求的系統(tǒng)發(fā)來的申請令牌的請求之前,進一步包括:

接收所述用戶輸入的用戶驗證信息;

根據(jù)所述用戶驗證信息對所述用戶進行身份驗證,當所述用戶通過身份驗證時,執(zhí)行所述接收發(fā)起登錄請求的系統(tǒng)發(fā)來的申請令牌的請求,當所述用戶沒有通過身份驗證時,結束當前流程。

進一步地,該方法進一步包括:當所述令牌通過驗證時,銷毀所述令牌。

第二方面,本發(fā)明實施例提供了一種認證中心服務器,包括:

第一接收單元,用于接收發(fā)起登錄請求的系統(tǒng)發(fā)來的申請令牌的請求;

第一獲取單元,用于獲取所述申請令牌的請求對應的用戶的用戶信息;

生成單元,用于根據(jù)所述申請令牌的請求,生成令牌;

保存單元,用于保存所述令牌的認證信息和所述用戶信息;

發(fā)送單元,用于向所述發(fā)起登錄請求的系統(tǒng)發(fā)送所述令牌,以使所述發(fā)起登錄請求的系統(tǒng)向要登錄到的系統(tǒng)發(fā)送所述令牌;

第二接收單元,用于接收所述要登錄到的系統(tǒng)發(fā)來的所述令牌;

驗證單元,用于根據(jù)保存的所述令牌的認證信息,對所述要登錄到的系統(tǒng)發(fā)來的所述令牌進行驗證,當所述令牌通過驗證時,允許所述用戶登錄到所述要登錄到的系統(tǒng),向所述要登錄到的系統(tǒng)發(fā)送所述用戶信息,以使所述要登錄到的系統(tǒng)根據(jù)所述用戶信息創(chuàng)建所述用戶的用戶會話。

進一步地,所述申請令牌的請求中包括:所述令牌對應的所述要登錄到的系統(tǒng)的目標地址;

進一步包括:第二獲取單元,用于從所述申請令牌的請求中獲取所述目標地址;

所述令牌的認證信息包括:所述令牌的生成時間、所述目標地址;

進一步包括:設置單元,用于設置令牌失效時間長度;

所述驗證單元,用于判斷所述要登錄到的系統(tǒng)發(fā)來的所述令牌是否滿足:接收到所述要登錄到的系統(tǒng)發(fā)來的所述令牌的時間與所述令牌的生成時間的時間差不大于所述令牌失效時間長度,且保存的所述目標地址與發(fā)來所述令牌的系統(tǒng)的地址相同,如果是,則判定所述要登錄到的系統(tǒng)發(fā)來的所述令牌通過驗證,否則,判定所述要登錄到的系統(tǒng)發(fā)來的所述令牌沒有通過驗證。

進一步地,該認證中心服務器進一步包括:第三接收單元,用于接收所述用戶輸入的用戶驗證信息;

身份驗證單元,用于根據(jù)所述用戶驗證信息對所述用戶進行身份驗證,當所述用戶通過身份驗證時,觸發(fā)所述第一接收單元,當所述用戶沒有通過身份驗證時,結束當前流程。

進一步地,所述驗證單元,進一步用于當所述令牌通過驗證時,銷毀所述令牌。

第三方面,本發(fā)明實施例提供了一種單點登錄的系統(tǒng),包括:

如第二方面中任一所述的認證中心服務器、至少一個設置有登錄請求攔截器的系統(tǒng);

所述至少一個設置有登錄請求攔截器的系統(tǒng)中包括:發(fā)起登錄請求的系統(tǒng)、要登錄到的系統(tǒng);

所述發(fā)起登錄請求的系統(tǒng)中的登錄請求攔截器,用于向所述認證中心服務器發(fā)送申請令牌的請求,接收所述認證中心服務器發(fā)來的令牌,將所述令牌發(fā)送給所述要登錄到的系統(tǒng);

所述要登錄到的系統(tǒng)中的登錄請求攔截器,用于攔截所述發(fā)起登錄請求的系統(tǒng)發(fā)來的所述令牌,向所述認證中心服務器發(fā)送所述令牌,當接收到所述認證中心服務器發(fā)來的用戶信息時,根據(jù)所述用戶信息創(chuàng)建用戶會話。

進一步地,所述發(fā)起登錄請求的系統(tǒng)中的登錄請求攔截器,用于接收用戶發(fā)來的登錄所述要登錄到的系統(tǒng)的請求,判斷所述用戶是否已登錄所述認證中心服務器,如果是,則執(zhí)行所述向所述認證中心服務器發(fā)送申請令牌的請求,否則,將所述用戶重定向至所述認證中心服務器的登錄界面,以使所述通過所述登錄界面輸入用戶驗證信息;

所述認證中心服務器,進一步用于通過所述登錄界面接收所述用戶輸入的用戶驗證信息;根據(jù)所述用戶驗證信息對所述用戶進行身份驗證,當所述用戶通過身份驗證時,執(zhí)行所述接收發(fā)起登錄請求的系統(tǒng)發(fā)來的申請令牌的請求,當所述用戶沒有通過身份驗證時,結束當前流程。

在本發(fā)明實施例中,用戶需要登錄要登錄到的系統(tǒng)時,發(fā)起登錄請求的系統(tǒng)需要獲取認證中服務器發(fā)出令牌,將該令牌發(fā)送給要登錄到的系統(tǒng),要登錄到的系統(tǒng)將接收到的令牌發(fā)送給認證中心服務器進行驗證,只有通過驗證后,要登錄到的系統(tǒng)才會針對該用戶創(chuàng)建用戶會話,實現(xiàn)用戶登錄到要登錄到的系統(tǒng),如果用戶沒有令牌,或者令牌沒有通過驗證,都無法登錄到要登錄到的系統(tǒng),提高了單點登錄的安全性。

附圖說明

為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是本發(fā)明一實施例提供的一種單點登錄的方法的流程圖;

圖2是本發(fā)明一實施例提供的另一種單點登錄的方法的流程圖;

圖3是本發(fā)明一實施例提供的一種認證中心服務器的示意圖;

圖4是本發(fā)明一實施例提供的另一種認證中心服務器的示意圖;

圖5是本發(fā)明一實施例提供的一種單點登錄的系統(tǒng)的示意圖。

具體實施方式

為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例,基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

如圖1所示,本發(fā)明實施例提供了一種單點登錄的方法,應用于認證中心服務器,該方法可以包括以下步驟:

步驟101:接收發(fā)起登錄請求的系統(tǒng)發(fā)來的申請令牌的請求;

步驟102:獲取所述申請令牌的請求對應的用戶的用戶信息;

步驟103:根據(jù)所述申請令牌的請求,生成令牌;

步驟104:保存所述令牌的認證信息和所述用戶信息;

步驟105:向所述發(fā)起登錄請求的系統(tǒng)發(fā)送所述令牌,以使所述發(fā)起登錄請求的系統(tǒng)向要登錄到的系統(tǒng)發(fā)送所述令牌;

步驟106:接收所述要登錄到的系統(tǒng)發(fā)來的所述令牌;

步驟107:根據(jù)保存的所述令牌的認證信息,對所述要登錄到的系統(tǒng)發(fā)來的所述令牌進行驗證,當所述令牌通過驗證時,允許所述用戶登錄到所述要登錄到的系統(tǒng),向所述要登錄到的系統(tǒng)發(fā)送所述用戶信息,以使所述要登錄到的系統(tǒng)根據(jù)所述用戶信息創(chuàng)建所述用戶的用戶會話。

在本發(fā)明實施例中,用戶需要登錄要登錄到的系統(tǒng)時,發(fā)起登錄請求的系統(tǒng)需要獲取認證中服務器發(fā)出令牌,將該令牌發(fā)送給要登錄到的系統(tǒng),要登錄到的系統(tǒng)將接收到的令牌發(fā)送給認證中心服務器進行驗證,只有通過驗證后,要登錄到的系統(tǒng)才會針對該用戶創(chuàng)建用戶會話,實現(xiàn)用戶登錄到要登錄到的系統(tǒng),如果用戶沒有令牌,或者令牌沒有通過驗證,都無法登錄到要登錄到的系統(tǒng),提高了單點登錄的安全性。

在本發(fā)明一實施例中,所述申請令牌的請求中包括:所述令牌對應的所述要登錄到的系統(tǒng)的目標地址;

在所述接收發(fā)起登錄請求的系統(tǒng)發(fā)來的申請令牌的請求之后,進一步包括:

從所述申請令牌的請求中獲取所述目標地址;

所述令牌的認證信息包括:所述令牌的生成時間、所述目標地址;

進一步包括:預先設置令牌失效時間長度;

所述根據(jù)保存的所述令牌的認證信息,對所述令牌進行驗證,包括:

判斷所述要登錄到的系統(tǒng)發(fā)來的所述令牌是否滿足:接收到所述要登錄到的系統(tǒng)發(fā)來的所述令牌的時間與所述令牌的生成時間的時間差不大于所述令牌失效時間長度,且保存的所述目標地址與發(fā)來所述令牌的系統(tǒng)的地址相同,如果是,則判定所述要登錄到的系統(tǒng)發(fā)來的所述令牌通過驗證,否則,判定所述要登錄到的系統(tǒng)發(fā)來的所述令牌沒有通過驗證。

在本發(fā)明實施例中,通過令牌失效時間長度來限制令牌的有效期,避免令牌一直處于有效的狀態(tài),一旦這種令牌被非法用戶獲取,對單點登錄造成很大的安全威脅。通過目標地址來限定令牌的使用范圍,使得每個令牌只能登錄對應的要登錄到的系統(tǒng),避免同一個令牌可以登錄多個系統(tǒng),對單點登錄造成較大的安全威脅。其中,令牌失效時間長度的取值范圍可以是[500毫秒,5秒]。例如:令牌失效時間長度為1秒、2秒等。

在本發(fā)明一實施例中,在所述接收發(fā)起登錄請求的系統(tǒng)發(fā)來的申請令牌的請求之前,進一步包括:

接收所述用戶輸入的用戶驗證信息;

根據(jù)所述用戶驗證信息對所述用戶進行身份驗證,當所述用戶通過身份驗證時,執(zhí)行所述接收發(fā)起登錄請求的系統(tǒng)發(fā)來的申請令牌的請求,當所述用戶沒有通過身份驗證時,結束當前流程。

在本發(fā)明實施例中,只有通過認證中心服務器的身份驗證的用戶才有資格獲取令牌。通過對身份驗證和令牌驗證使得單點登錄的安全性更高。

在本發(fā)明一實施例中,該方法進一步包括:當所述令牌通過驗證時,銷毀所述令牌。

在本發(fā)明實施例中,一個令牌只能使用一次,避免令牌被重復使用,可以降低令牌被非法獲取并使用的概率,提高了單點登錄的安全。

如圖2所示,本發(fā)明實施例提供了一種單點登錄的方法,該方法應用于認證中心服務器,在本發(fā)明實施例中,發(fā)起登錄請求的系統(tǒng)為系統(tǒng)a,要登錄到的系統(tǒng)為系統(tǒng)b。用戶需要從系統(tǒng)a單點登錄到系統(tǒng)b中。該方法可以包括以下步驟:

步驟201:預先設置令牌失效時間長度。

步驟202:接收系統(tǒng)a發(fā)來的申請令牌的請求,該申請令牌的請求包括系統(tǒng)b的目標地址。

具體地,申請令牌的請求可以為:http(s)://認證中心服務器的host地址/asktoken?url=要登錄到的系統(tǒng)的地址。

舉例來說,申請令牌的請求可以為:http(s)://認證中心服務器的host地址/asktoken?url=目標地址。

步驟203:從申請令牌的請求中獲取目標地址。

步驟204:獲取申請令牌的請求對應的用戶的用戶信息。

可以從與系統(tǒng)a建立的會話中獲取用戶信息。

用戶信息可以包括:用戶的id等用于建立用戶會話的信息。

步驟205:根據(jù)申請令牌的請求,生成令牌。

具體地,可以生成一個guid(globallyuniqueidentifier,全局唯一標識符)格式的字符串,將該字符串作為令牌。

作為令牌返回給發(fā)起令牌申請請求的登錄請求攔截器。

步驟206:保存令牌的生成時間、目標地址和用戶信息。

具體地,可以將與令牌相關的用戶信息、令牌的生成時間和目標地址生成一個記錄放在等待驗證集合中。在保存目標地址時,可以直接保存申請令牌的請求的url(uniformresourelocator,統(tǒng)一資源定位器)。

步驟207:向系統(tǒng)a發(fā)送令牌,以使系統(tǒng)a向系統(tǒng)b發(fā)送令牌。

具體地,系統(tǒng)a可以通過以下格式將令牌發(fā)送給系統(tǒng)b:

http(s)://系統(tǒng)b的host地址/sso/令牌。

步驟208:接收系統(tǒng)b發(fā)來的令牌。

具體地,系統(tǒng)b接收到系統(tǒng)a發(fā)送的令牌后,將該令牌發(fā)送給認證中心服務器進行認證。

系統(tǒng)b可以通過以下格式將令牌發(fā)送給認證中心服務器:

http(s)://認證中心服務器的host地址/verifytoken/令牌。

步驟209:判斷系統(tǒng)b發(fā)來的令牌是否滿足:接收到系統(tǒng)b發(fā)來的令牌的時間與令牌的生成時間的時間差不大于令牌失效時間長度,且保存的目標地址與發(fā)來令牌的系統(tǒng)的地址相同,如果是,則執(zhí)行步驟210,否則,執(zhí)行步驟211。

具體地,認證中心服務器根據(jù)令牌的生成時間對接收到的令牌進行時效性驗證,確定該令牌是否有效。認證中心服務器根據(jù)保存的目標地址,驗證接收到的令牌是否與保存的目標地址相對應。

認證中心服務器可以根據(jù)與發(fā)來令牌的系統(tǒng)建立的會話確定接收到的令牌的來源,也就是能夠確定發(fā)送給令牌的系統(tǒng)的地址。

步驟210:向系統(tǒng)b發(fā)送用戶信息,以使系統(tǒng)b根據(jù)用戶信息創(chuàng)建用戶的用戶會話。

具體地,當系統(tǒng)b接收到認證中心服務器發(fā)來的用戶信息時,則確定認證中心服務器允許用戶登錄系統(tǒng)b。系統(tǒng)b根據(jù)用戶信息創(chuàng)建用戶會話,使得該用戶能夠登錄到系統(tǒng)b,實現(xiàn)與系統(tǒng)b的交互。

步驟211:禁止用戶登錄系統(tǒng)b,結束當前流程。

在本發(fā)明實施例中,認證中心服務器產(chǎn)生的令牌具有時效性,同時只能用于一個系統(tǒng)的單點登錄,認證中心服務器接到令牌驗證請求時會驗證令牌的時效,并根據(jù)發(fā)來待驗證的令牌的系統(tǒng)的地址驗證該系統(tǒng)是否是要登錄到的系統(tǒng)。通過這些機制,在實現(xiàn)單點登錄的同時,可以避免第三方惡意軟件截獲令牌并用于其他用途的可能,具有非常高的安全性。

如圖3所示,本發(fā)明實施例提供了一種認證中心服務器,包括:

第一接收單元301,用于接收發(fā)起登錄請求的系統(tǒng)發(fā)來的申請令牌的請求;

第一獲取單元302,用于獲取所述申請令牌的請求對應的用戶的用戶信息;

生成單元303,用于根據(jù)所述申請令牌的請求,生成令牌;

保存單元304,用于保存所述令牌的認證信息和所述用戶信息;

發(fā)送單元305,用于向所述發(fā)起登錄請求的系統(tǒng)發(fā)送所述令牌,以使所述發(fā)起登錄請求的系統(tǒng)向要登錄到的系統(tǒng)發(fā)送所述令牌;

第二接收單元306,用于接收所述要登錄到的系統(tǒng)發(fā)來的所述令牌;

驗證單元307,用于根據(jù)保存的所述令牌的認證信息,對所述要登錄到的系統(tǒng)發(fā)來的所述令牌進行驗證,當所述令牌通過驗證時,允許所述用戶登錄到所述要登錄到的系統(tǒng),向所述要登錄到的系統(tǒng)發(fā)送所述用戶信息,以使所述要登錄到的系統(tǒng)根據(jù)所述用戶信息創(chuàng)建所述用戶的用戶會話。

在本發(fā)明一實施例中,所述申請令牌的請求中包括:所述令牌對應的所述要登錄到的系統(tǒng)的目標地址;

進一步包括:第二獲取單元,用于從所述申請令牌的請求中獲取所述目標地址;

所述令牌的認證信息包括:所述令牌的生成時間、所述目標地址;

進一步包括:設置單元,用于設置令牌失效時間長度;

所述驗證單元,用于判斷所述要登錄到的系統(tǒng)發(fā)來的所述令牌是否滿足:接收到所述要登錄到的系統(tǒng)發(fā)來的所述令牌的時間與所述令牌的生成時間的時間差不大于所述令牌失效時間長度,且保存的所述目標地址與發(fā)來所述令牌的系統(tǒng)的地址相同,如果是,則判定所述要登錄到的系統(tǒng)發(fā)來的所述令牌通過驗證,否則,判定所述要登錄到的系統(tǒng)發(fā)來的所述令牌沒有通過驗證。

如圖4所示,在本發(fā)明一實施例中,該認證中心服務器,進一步包括:第三接收單元401,用于接收所述用戶輸入的用戶驗證信息;

身份驗證單元402,用于根據(jù)所述用戶驗證信息對所述用戶進行身份驗證,當所述用戶通過身份驗證時,觸發(fā)所述第一接收單元,當所述用戶沒有通過身份驗證時,結束當前流程。

在本發(fā)明一實施例中,該認證中心服務器,所述驗證單元,進一步用于當所述令牌通過驗證時,銷毀所述令牌。

本發(fā)明實施例提供了一種單點登錄的系統(tǒng),包括:

本發(fā)明實施例中任一所述的認證中心服務器、至少一個設置有登錄請求攔截器的系統(tǒng);

所述至少一個設置有登錄請求攔截器的系統(tǒng)中包括:發(fā)起登錄請求的系統(tǒng)、要登錄到的系統(tǒng);

所述發(fā)起登錄請求的系統(tǒng)中的登錄請求攔截器,用于向所述認證中心服務器發(fā)送申請令牌的請求,接收所述認證中心服務器發(fā)來的令牌,將所述令牌發(fā)送給所述要登錄到的系統(tǒng);

所述要登錄到的系統(tǒng)中的登錄請求攔截器,用于攔截所述發(fā)起登錄請求的系統(tǒng)發(fā)來的所述令牌,向所述認證中心服務器發(fā)送所述令牌,當接收到所述認證中心服務器發(fā)來的用戶信息時,根據(jù)所述用戶信息創(chuàng)建用戶會話。

在本發(fā)明實施例中,為每個用戶可以單點登錄到的系統(tǒng)設置登錄請求攔截器,該登錄請求攔截器中封裝了使用本單點登錄的系統(tǒng)實現(xiàn)登錄和單點登錄所需的操作邏輯,每個用戶可以單點登錄到的系統(tǒng)經(jīng)過簡單配置即可實現(xiàn)統(tǒng)一認證和單點登錄服務,極大的簡化了單點登錄的實施過程,節(jié)約了實施成本。

本發(fā)明實施例提供的一種單點登錄的系統(tǒng)提供了認證服務和攔截服務,認證服務由認證中心服務器實現(xiàn),攔截服務由登錄請求攔截器來實現(xiàn)。認證服務可以部署成單獨的web應用,向為每個用戶可以單點登錄到的系統(tǒng)提供用戶認證等服務。

如圖5所示,本發(fā)明實施例提供了一種單點登錄的系統(tǒng),包括:

本發(fā)明實施例中任一所述的認證中心服務器501、發(fā)起登錄請求的系統(tǒng)502和要登錄到的系統(tǒng)503,發(fā)起登錄請求的系統(tǒng)502中包括登錄請求攔截器5021,要登錄到的系統(tǒng)503中包括登錄請求攔截器5031。

在本發(fā)明一實施例中,所述發(fā)起登錄請求的系統(tǒng)中的登錄請求攔截器,用于接收用戶發(fā)來的登錄所述要登錄到的系統(tǒng)的請求,判斷所述用戶是否已登錄所述認證中心服務器,如果是,則執(zhí)行所述向所述認證中心服務器發(fā)送申請令牌的請求,否則,將所述用戶重定向至所述認證中心服務器的登錄界面,以使所述通過所述登錄界面輸入用戶驗證信息;

所述認證中心服務器,進一步用于通過所述登錄界面接收所述用戶輸入的用戶驗證信息;根據(jù)所述用戶驗證信息對所述用戶進行身份驗證,當所述用戶通過身份驗證時,執(zhí)行所述接收發(fā)起登錄請求的系統(tǒng)發(fā)來的申請令牌的請求,當所述用戶沒有通過身份驗證時,結束當前流程。

在本發(fā)明實施例中,認證中心服務器可以提供賬號管理服務、用戶驗證服務、令牌管理服務。其中,基于賬戶管理服務,認證中心服務器可以實現(xiàn)對用戶的賬戶進行管理,可以對用戶設置需要采用的認證方式?;谟脩趄炞C服務,認證中心服務器可以實現(xiàn)對用戶進行身份驗證,可以提供用戶名+密碼、ca(certificateauthority,數(shù)字證書認證中心)、usbkey等多種方式。其中,用輸入的用戶驗證信息可以是用戶的賬號和密碼等。基于令牌管理服務,認證中心服務器可以實現(xiàn)令牌的生成、令牌的驗證、令牌的銷毀等功能。

在本發(fā)明實施例中,當用戶通過身份驗證時,認證中心服務器中會創(chuàng)建該用戶的會話,并把該用戶重定向至發(fā)起登錄請求的系統(tǒng)中的登錄請求攔截器,發(fā)起登錄請求的系統(tǒng)中的登錄請求攔截器創(chuàng)建該用戶的用戶會話并把用戶導向至其原先請求的地址。

在本發(fā)明實施例中,當用戶從一個部署了登錄請求攔截器的系統(tǒng)中,單點登錄到另一個系統(tǒng)時,這兩個系統(tǒng)中必須部署登錄請求攔截器。

在本發(fā)明實施例中,當用戶從一個部署了登錄請求攔截器的系統(tǒng)中發(fā)起單點登錄時,需要向該系統(tǒng)發(fā)送一個包含了特定信息的單點登錄請求,該特定信息中包含了要單點登錄到的系統(tǒng)的地址,以及表示本請求是單點登錄請求的標示字符串;該登錄請求攔截器攔截到此請求后,會向認證中心服務器請求一個令牌,并把令牌通過一個特定的鏈接發(fā)送給要單點登錄到的系統(tǒng)。

其中,用戶發(fā)的單點登錄請求可以通過以下方式實現(xiàn):

http(s)://發(fā)起登錄請求的系統(tǒng)的host地址/tokensso?url=要登錄到的系統(tǒng)的地址

其中的“tokensso”用戶說明該請求是單點登錄請求。

在本發(fā)明實施例中,登錄請求攔截器可以是一個http請求的攔截組件。其主要作用是驗證用戶是否登錄,并調用認證中心服務器完成單點登錄。登錄請求攔截器封裝了第三方系統(tǒng)實現(xiàn)單點登錄的所有邏輯。

本發(fā)明實施例由于把相關邏輯封裝在了登錄請求攔截器中,大大減輕了其他系統(tǒng)的應用難度,通過設置即可使用,主要是實施步驟如下:

部署認證中心服務器的web應用,并完成用戶初始,和令牌有效性時間設置。

在使用本發(fā)明實施例實現(xiàn)單點登錄的應用系統(tǒng)bin目錄中部署登錄請求攔截器dll,并在web.config中添加如下信息:

<httpmodules>

<addname="ssoprovider"type="inspur.sso.provider,inspur.sso"/>

</httpmodules>

本發(fā)明實施例提供了一種可讀介質,包括執(zhí)行指令,當存儲控制器的處理器執(zhí)行所述執(zhí)行指令時,所述存儲控制器執(zhí)行本發(fā)明實施例中任一單點登錄的方法。

本發(fā)明實施例提供了一種存儲控制器,包括:處理器、存儲器和總線;

所述存儲器用于存儲執(zhí)行指令,所述處理器與所述存儲器通過所述總線連接,當所述存儲控制器運行時,所述處理器執(zhí)行所述存儲器存儲的所述執(zhí)行指令,以使所述存儲控制器執(zhí)行本發(fā)明實施例中任一單點登錄的方法。

上述裝置內的各單元之間的信息交互、執(zhí)行過程等內容,由于與本發(fā)明方法實施例基于同一構思,具體內容可參見本發(fā)明方法實施例中的敘述,此處不再贅述。

本發(fā)明各個實施例至少具有如下有益效果:

1、在本發(fā)明實施例中,用戶需要登錄要登錄到的系統(tǒng)時,發(fā)起登錄請求的系統(tǒng)需要獲取認證中服務器發(fā)出令牌,將該令牌發(fā)送給要登錄到的系統(tǒng),要登錄到的系統(tǒng)將接收到的令牌發(fā)送給認證中心服務器進行驗證,只有通過驗證后,要登錄到的系統(tǒng)才會針對該用戶創(chuàng)建用戶會話,實現(xiàn)用戶登錄到要登錄到的系統(tǒng),如果用戶沒有令牌,或者令牌沒有通過驗證,都無法登錄到要登錄到的系統(tǒng),提高了單點登錄的安全性。

2、在本發(fā)明實施例中,認證中心服務器產(chǎn)生的令牌具有時效性,同時只能用于一個系統(tǒng)的單點登錄,認證中心服務器接到令牌驗證請求時會驗證令牌的時效,并根據(jù)發(fā)來待驗證的令牌的系統(tǒng)的地址驗證該系統(tǒng)是否是要登錄到的系統(tǒng)。通過這些機制,在實現(xiàn)單點登錄的同時,可以避免第三方惡意軟件截獲令牌并用于其他用途的可能,具有非常高的安全性。

3、在本發(fā)明實施例中,為每個用戶可以單點登錄到的系統(tǒng)設置登錄請求攔截器,該登錄請求攔截器中封裝了使用本單點登錄的系統(tǒng)實現(xiàn)登錄和單點登錄所需的操作邏輯,每個用戶可以單點登錄到的系統(tǒng)經(jīng)過簡單配置即可實現(xiàn)統(tǒng)一認證和單點登錄服務,極大的簡化了單點登錄的實施過程,節(jié)約了實施成本。

需要說明的是,在本文中,諸如第一和第二之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個〃·····”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同因素。

本領域普通技術人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成,前述的程序可以存儲在計算機可讀取的存儲介質中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質包括:rom、ram、磁碟或者光盤等各種可以存儲程序代碼的介質中。

最后需要說明的是:以上所述僅為本發(fā)明的較佳實施例,僅用于說明本發(fā)明的技術方案,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內所做的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
永嘉县| 宁明县| 安达市| 永和县| 大庆市| 乳源| 康保县| 平顶山市| 额敏县| 陈巴尔虎旗| 怀仁县| 新巴尔虎右旗| 安塞县| 九龙坡区| 巨野县| 咸阳市| 波密县| 丹江口市| 宁夏| 九江市| 中卫市| 太仆寺旗| 青冈县| 东兰县| 潢川县| 南和县| 尖扎县| 山阴县| 天祝| 七台河市| 石屏县| 南宫市| 昌都县| 屏边| 蚌埠市| 容城县| 阿巴嘎旗| 永平县| 通化县| 凤庆县| 阜新|