System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及通信,尤其涉及一種跨子系統登錄方法、通信系統及存儲介質。
技術介紹
1、在一些情況下,一個業務需要多個子系統提供支持。不同子系統用于執行不同的業務功能。多子系統的引入可以實現業務邏輯的分離,各個子系統的信息隔離的同時,各個子系統的業務邏輯與需要實現的業務功能更加適配,且開發難度降低,以提升開發效率、系統可擴展性和運維靈活型。通常情況下,不同的子系統分配有不同的用戶標識(identity,id)。一般情況下,一個子系統分配的id僅能用于登錄該子系統,但是不能用于登錄其他子系統。如此若一個用戶需要持多個子系統的賬號分別登錄對應的子系統,則會導致操作繁瑣且使用效率低。有鑒于此,單點登錄(single?sign-on,?sso)應運而生。sso是一種允許用戶使用單個身份憑證訪問多個子系統的認證機制。但是實踐發現sso在某些特殊場景下會失效。
技術實現思路
1、有鑒于此,本專利技術的主要目的在于提供一種跨子系統登錄方法、通信設備及存儲介質。
2、本專利技術的技術方案是這樣實現的:
3、本公開的實施例提供一種跨子系統登錄方法,由第一子系統執行,包括:
4、在檢測到已登錄第二子系統的第一id(第一標識)的登錄請求時,向第三子系統發送第一請求,所述第一請求用于所述第三子系統確定是否授權所述第一id登錄所述第一子系統;所述第一id為所述第二子系統分配的用戶id且用于請求登錄所述第二子系統的用戶id;
5、接收所述第三子系統發送的第一響應;
6、在所述第一響應指示允許所述第一id登錄所述第一子系統時,基于所述第一id向第四子系統發送第二請求,所述第二請求用于請求第二id;所述第二id指向所述第一id請求登錄的所述第一子系統的目標頁面;
7、接收所述第三子系統發送的第二響應;
8、在所述第二響應包含所述第二id時,允許所述第一id登錄所述目標頁面。
9、基于上述方案,所述在所述第二響應包含所述第二id時,允許所述第一id登錄所述目標頁面,包括:
10、建立所述第一id和所述第二id之間的關聯關系;
11、基于所述關聯關系進行所述第一id登錄所述第一子系統的權限校驗;
12、在權限校驗通過時,根據所述第二id顯示所述目標頁面。
13、基于上述方案,所述建立所述第一id和所述第二id之間的關聯關系,包括:
14、將所述第一id和所述第二id對應存儲到所述登錄請求對應的會話空間;不同所述登錄請求對應于不同會話,不同所述會話具有不同會話空間。
15、基于上述方案,所述登錄請求包括登錄第一url(第一統一資源地址);所述第一url指向所述第一子系統;所述在權限校驗通過時,根據所述第二id顯示所述目標頁面,包括:
16、根據所述第二id和所述第一url生成第二url;
17、根據所述第二url顯示所述目標頁面。
18、第二方面提供一種跨子系統登錄方法,由第二子系統執行,包括:
19、在登錄第一子系統的目標頁面的登錄操作時,將第一id以及第二id緩存至第四子系統;所述第一id為所述第二子系統分配的用戶id且用于請求登錄所述第一子系統的用戶id;所述第二id指向所述第一id請求登錄的所述第一子系統的目標頁面;所述第一id和所述第二id發送至第四子系統,用于在所述第三子系統授權所述第一id登錄所述第一子系統后登錄所述第一子系統的目標頁面。
20、向第一子系統發送登錄請求;所述登錄請求至少包括所述第一id。
21、基于上述方案,所述登錄請求還包括:所述第一url;所述第一url指向所述第一子系統;所述第一url和所述第二id用于生成登錄所述目標頁面的第二url。
22、第三方面提供一種跨子系統登錄方法,由第三子系統執行,包括:
23、接收第一子系統發送的第一請求;
24、根據所述第一請求確定是否第一id是否有權限登錄第二子系統,所述第一id為所述第二子系統分配的用戶id且用于請求登錄所述第一子系統的用戶id;
25、向所述第一子系統發送第一響應,所述第一響應用于向第一子系統指示所述第一id是否有權限登錄所述第一子系統。
26、基于上述方案,所述根據所述第一請求確定是否第一id是否有權限登錄第二子系統,包括:
27、在所述第一id已成功登錄所述第二子系統時,確定所述第一id是否指定類型id;
28、在所述第一id時指定類型id時,確定所述第一id有權限登錄所述第一子系統。
29、基于上述方案,所述方法還包括:
30、根據所述第二子系統的cookie確定所述第一id是否已成功登錄所述第二子系統。
31、第四方面提供一種通信系統,其中,包括:
32、第一子系統,用于執行第一方面任意技術方案任一項所述的方法;
33、第二子系統,用于執行第二方面任意技術方案任一項所述的方法;
34、第三子系統,用于執行第三方面任意技術任一項所述的方法;
35、第四子系統,至少用于緩存所述第三子系統提供的第一id和第二id。
36、第五方面提供一種計算機存儲介質,所述計算機存儲介質存儲有計算機可讀指令,所述計算機可讀指令被執行后能夠執行第一方面、第二方面以及第三方面任一技術方案所述的方法。
37、第六方面提供一種計算機可讀指令,其特征在于,所述計算機可讀指令被執行后能夠執行上述第一方面、第二方面以及第三方面任一技術方案所述的方法。
38、本專利技術實施例所提供的一種跨子系統登錄方法、通信設備及存儲介質,在第二子系統的第一id請求登錄第一子系統時,第一子系統會請求第三子系統確定第一id有權限登錄時,并從第四子系統獲取第一id對應的第二id,采用這種方式可以在sso的場景下,允許第一子系統的第一id成功跨區或跨子系統登錄到第二子系統,減少sso失效的概率,提升登錄的成功率。
本文檔來自技高網...【技術保護點】
1.一種跨子系統登錄方法,其特征在于,由第一子系統執行,包括:
2.根據權利要求1所述的方法,其特征在于,所述在所述第二響應包含所述第二ID時,允許所述第一ID登錄所述目標頁面,包括:
3.根據權利要求2所述的方法,其特征在于,所述建立所述第一ID和所述第二ID之間的關聯關系,包括:
4.根據權利要求2或3所述的方法,其特征在于,所述登錄請求包括登錄第一URL;所述第一URL指向所述第一子系統;所述在權限校驗通過時,根據所述第二ID顯示所述目標頁面,包括:
5.一種跨子系統登錄方法,其特征在于,由第二子系統執行,包括:
6.根據權利要求5所述的方法,其特征在于,所述登錄請求還包括:所述第一URL;所述第一URL指向所述第一子系統;所述第一URL和所述第二ID用于生成登錄所述目標頁面的第二URL。
7.一種跨子系統登錄方法,其特征在于,由第三子系統執行,包括:
8.根據權利要求7所述的方法,其特征在于,所述根據所述第一請求確定是否第一ID是否有權限登錄第二子系統,包括:
9.根據權利要求
10.一種通信系統,其特征在于,包括:
11.一種計算機存儲介質,其特征在于,所述計算機存儲介質存儲有計算機可讀指令,所述計算機可讀指令被執行后能夠執行權利要求1至4、5至6以及7至9任一項所述的方法。
12.一種計算機可讀指令,其特征在于,所述計算機可讀指令被執行后能夠執行權利要求1至4、5至6以及7至9任一項所述的方法。
...【技術特征摘要】
1.一種跨子系統登錄方法,其特征在于,由第一子系統執行,包括:
2.根據權利要求1所述的方法,其特征在于,所述在所述第二響應包含所述第二id時,允許所述第一id登錄所述目標頁面,包括:
3.根據權利要求2所述的方法,其特征在于,所述建立所述第一id和所述第二id之間的關聯關系,包括:
4.根據權利要求2或3所述的方法,其特征在于,所述登錄請求包括登錄第一url;所述第一url指向所述第一子系統;所述在權限校驗通過時,根據所述第二id顯示所述目標頁面,包括:
5.一種跨子系統登錄方法,其特征在于,由第二子系統執行,包括:
6.根據權利要求5所述的方法,其特征在于,所述登錄請求還包括:所述第一url;所述第一url指向所述第一子系統;所...
【專利技術屬性】
技術研發人員:陳學藝,馬青山,周財平,
申請(專利權)人:學科網北京股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。