本發(fā)明涉及信息安全,尤其涉及一種煤礦多服務(wù)間快速認(rèn)證的方法及系統(tǒng)。
背景技術(shù):
1、隨著煤礦行業(yè)信息化進(jìn)程的加快,各類信息系統(tǒng)和數(shù)字化服務(wù)在煤礦企業(yè)中得到了廣泛應(yīng)用,這些系統(tǒng)涉及生產(chǎn)管理、安全監(jiān)控、設(shè)備管理、人員定位等多方面。通過這些系統(tǒng),企業(yè)可以實(shí)現(xiàn)對生產(chǎn)過程的監(jiān)控和優(yōu)化管理,提升安全生產(chǎn)水平和運(yùn)營效率。然而,隨著系統(tǒng)數(shù)量的增加,企業(yè)用戶需要在不同系統(tǒng)間頻繁登錄以進(jìn)行操作和管理,這給用戶帶來了較大的操作負(fù)擔(dān),尤其是在緊急情況下,頻繁的認(rèn)證過程影響工作效率和響應(yīng)速度。
2、目前,煤礦企業(yè)的常見認(rèn)證方式主要采用傳統(tǒng)的用戶名和密碼認(rèn)證模式。每個系統(tǒng)單獨(dú)管理用戶的認(rèn)證信息,用戶需要為每個系統(tǒng)分別輸入用戶名和密碼才能訪問相關(guān)功能。這種認(rèn)證方式存在以下幾個缺陷:
3、操作繁瑣:在使用多個系統(tǒng)時,用戶需要重復(fù)進(jìn)行登錄操作,這增加了操作的復(fù)雜性和時間成本,特別是在需要頻繁切換系統(tǒng)的場景下,用戶體驗(yàn)較差;安全性隱患:傳統(tǒng)的用戶名和密碼認(rèn)證模式中,每個系統(tǒng)獨(dú)立管理用戶密碼,這不僅增加了管理復(fù)雜性,還容易引發(fā)密碼泄露的風(fēng)險(xiǎn),用戶往往為多個系統(tǒng)設(shè)置相同的密碼,一旦某個系統(tǒng)發(fā)生密碼泄露,其他系統(tǒng)的安全性也會受到威脅,此外,頻繁輸入密碼增加了暴露于鍵盤記錄攻擊等安全風(fēng)險(xiǎn)的可能性;系統(tǒng)獨(dú)立性導(dǎo)致的重復(fù)認(rèn)證:各個系統(tǒng)之間通常沒有建立統(tǒng)一的認(rèn)證機(jī)制,用戶在訪問不同系統(tǒng)時需要進(jìn)行多次登錄,這種分散的認(rèn)證方式在緊急情況下尤為不利,用戶在處理緊急任務(wù)時,需要花費(fèi)更多時間在重復(fù)的認(rèn)證操作上,從而降低了整體工作效率;管理復(fù)雜性:由于每個系統(tǒng)獨(dú)立維護(hù)用戶身份信息,企業(yè)在用戶權(quán)限管理和認(rèn)證信息更新等方面的操作變得復(fù)雜且容易出錯,尤其在人員變動頻繁的情況下,管理員需要逐個系統(tǒng)進(jìn)行用戶權(quán)限的添加、刪除或修改,這無形中增加了運(yùn)維工作量和出錯風(fēng)險(xiǎn)。
4、盡管一些現(xiàn)代的認(rèn)證方案如kerberos能夠?qū)崿F(xiàn)多系統(tǒng)間的集中認(rèn)證,但它的部署和維護(hù)過程復(fù)雜,尤其是在異構(gòu)網(wǎng)絡(luò)環(huán)境下,需要額外的配置和調(diào)試。這不僅提高了實(shí)施的成本和難度,還對系統(tǒng)性能產(chǎn)生不利影響,無法很好地適應(yīng)煤礦企業(yè)中復(fù)雜的網(wǎng)絡(luò)環(huán)境。
5、因此,急需一種煤礦多服務(wù)間快速認(rèn)證的方法及系統(tǒng)。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明提供了一種煤礦多服務(wù)間快速認(rèn)證的方法及系統(tǒng),以解決現(xiàn)有技術(shù)中存在的上述問題。
2、為了達(dá)到上述目的,本發(fā)明提供如下技術(shù)方案:
3、一種煤礦多服務(wù)間快速認(rèn)證的方法,包括:
4、s101:新用戶通過用戶終端訪問認(rèn)證中心的注冊界面,填寫并提交注冊信息,認(rèn)證中心對注冊信息進(jìn)行驗(yàn)證,完成用戶注冊;
5、s102:用戶在認(rèn)證中心的登錄界面輸入登錄信息,登錄請求通過加密協(xié)議傳輸至服務(wù)提供者,服務(wù)提供者將登錄請求轉(zhuǎn)發(fā)至認(rèn)證中心進(jìn)行驗(yàn)證,驗(yàn)證通過后生成認(rèn)證令牌,認(rèn)證令牌經(jīng)由服務(wù)提供者返回至用戶終端;
6、s103:用戶終端接收認(rèn)證令牌后,將認(rèn)證令牌存儲于本地;
7、s104:用戶在訪問煤礦多服務(wù)間時,用戶終端攜帶認(rèn)證令牌發(fā)起訪問請求,服務(wù)提供者驗(yàn)證令牌的有效性,驗(yàn)證通過后,允許用戶訪問對應(yīng)的服務(wù)間;
8、s105:當(dāng)認(rèn)證令牌接近過期時,用戶終端自動調(diào)用認(rèn)證中心的令牌刷新接口,獲取新的認(rèn)證令牌,保證用戶的持續(xù)登錄狀態(tài)和認(rèn)證權(quán)限。
9、其中,s101步驟包括:
10、s1011:用戶在用戶終端上訪問認(rèn)證中心的注冊界面,提交注冊信息,注冊信息包括用戶名、密碼、郵箱地址及手機(jī)號碼;
11、s1012:認(rèn)證中心的用戶管理模塊接收注冊信息,對填寫的用戶名進(jìn)行唯一性檢查,確保所提交的用戶名未被他人注冊,若用戶名已存在,則向用戶終端發(fā)送提示信息,要求用戶選擇其他用戶名;
12、s1013:用戶管理模塊對所提交的信息進(jìn)行完整性驗(yàn)證,確保所有必填項(xiàng)均已填寫,并且輸入的信息格式符合預(yù)定標(biāo)準(zhǔn);
13、s1014:在信息完整且格式合法的情況下,認(rèn)證中心將繼續(xù)進(jìn)行合法性驗(yàn)證,包括對手機(jī)號碼進(jìn)行驗(yàn)證,通過發(fā)送驗(yàn)證碼到用戶提供的手機(jī)進(jìn)行確認(rèn);
14、s1015:驗(yàn)證通過后,用戶管理模塊將用戶信息存儲在用戶數(shù)據(jù)庫中,并生成用戶唯一標(biāo)識。
15、其中,s102步驟包括:
16、基于登錄信息,通過加密協(xié)議將登錄請求發(fā)送至煤礦多服務(wù)間;
17、煤礦多服務(wù)間接收到登錄請求后,將登錄請求轉(zhuǎn)發(fā)至認(rèn)證中心進(jìn)行用戶身份驗(yàn)證;
18、認(rèn)證中心對登錄信息進(jìn)行驗(yàn)證,驗(yàn)證通過后生成認(rèn)證令牌;
19、煤礦多服務(wù)間接收認(rèn)證中心生成的認(rèn)證令牌,并將認(rèn)證令牌經(jīng)由訪問系統(tǒng)返回至用戶終端;
20、用戶終端在后續(xù)請求中攜帶認(rèn)證令牌;
21、煤礦多服務(wù)間通過認(rèn)證中心的驗(yàn)證接口對所述認(rèn)證令牌進(jìn)行驗(yàn)證,包括驗(yàn)證認(rèn)證令牌的簽名和有效性;
22、若認(rèn)證令牌驗(yàn)證通過,煤礦多服務(wù)間從認(rèn)證令牌中提取用戶身份信息和權(quán)限信息,進(jìn)行訪問控制,確保用戶能夠訪問權(quán)限范圍內(nèi)的信息。
23、其中,驗(yàn)證通過后,允許用戶訪問對應(yīng)的服務(wù)間,包括:
24、獲取煤礦多服務(wù)間訪問請求數(shù)據(jù),從用戶終端攜帶的認(rèn)證令牌中提取用戶身份信息,訪問請求數(shù)據(jù)包括用戶身份數(shù)據(jù)和訪問服務(wù)類型;
25、根據(jù)用戶身份數(shù)據(jù)和訪問服務(wù)類型,對訪問請求數(shù)據(jù)進(jìn)行分層處理,得到驗(yàn)證數(shù)據(jù),具體包括:
26、從用戶身份數(shù)據(jù)中獲取用戶權(quán)限信息;
27、獲取每個用戶權(quán)限信息關(guān)聯(lián)的服務(wù)間類型,作為待驗(yàn)證數(shù)據(jù);
28、根據(jù)驗(yàn)證數(shù)據(jù)生成訪問授權(quán)結(jié)果,并將訪問授權(quán)結(jié)果輸入至煤礦多服務(wù)間,允許用戶訪問相應(yīng)的服務(wù)數(shù)據(jù)和功能模塊。
29、其中,獲取新的認(rèn)證令牌,包括:
30、接收用戶終端發(fā)送的認(rèn)證令牌狀態(tài)檢測請求,并獲取認(rèn)證令牌中攜帶的第一過期時間信息;其中,認(rèn)證令牌為認(rèn)證中心針對用戶身份驗(yàn)證后生成并發(fā)送至用戶終端的,在認(rèn)證令牌對應(yīng)的認(rèn)證路徑中,用戶終端為訪問目標(biāo)資源時攜帶認(rèn)證信息的終端設(shè)備;
31、當(dāng)?shù)谝贿^期時間信息表征的剩余有效時間小于預(yù)設(shè)閾值時,自動觸發(fā)用戶終端調(diào)用認(rèn)證中心的令牌刷新接口,并發(fā)送攜帶舊令牌的刷新請求,以獲取新的認(rèn)證令牌;其中,預(yù)設(shè)閾值用于指示認(rèn)證令牌接近過期的時間點(diǎn);
32、在成功獲取新的認(rèn)證令牌后,更新用戶終端上保存的舊令牌,并保證用戶在認(rèn)證中心和目標(biāo)資源訪問路徑中的持續(xù)登錄狀態(tài)和認(rèn)證權(quán)限;
33、向目標(biāo)資源對應(yīng)的服務(wù)器發(fā)送攜帶新的認(rèn)證令牌的訪問請求,并在獲取目標(biāo)資源的訪問響應(yīng)時,將新的認(rèn)證令牌用于后續(xù)的認(rèn)證過程,以保持用戶終端的連續(xù)訪問權(quán)限。
34、其中,驗(yàn)證通過后生成認(rèn)證令牌,包括:
35、基于用戶身份驗(yàn)證需求,確定登錄請求中包含的用戶信息;
36、獲取用戶信息對應(yīng)的用戶數(shù)據(jù)庫;
37、根據(jù)用戶信息與用戶數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行匹配驗(yàn)證,若匹配成功,則生成認(rèn)證令牌;
38、根據(jù)用戶信息與預(yù)設(shè)驗(yàn)證數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行匹配驗(yàn)證,若匹配成功,則生成認(rèn)證令牌,包括:
39、對待驗(yàn)證信息中的用戶名在驗(yàn)證數(shù)據(jù)庫中進(jìn)行檢索,若匹配失敗,輸出登錄失敗結(jié)果;若匹配成功,獲取數(shù)據(jù)庫中對應(yīng)的密碼信息;
40、將用戶輸入的密碼與數(shù)據(jù)庫中的密碼信息進(jìn)行匹配,若匹配成功,生成認(rèn)證令牌,認(rèn)證令牌為:jwt格式;
41、在生成認(rèn)證令牌后,令牌包含用戶身份信息及簽名,簽名基于認(rèn)證中心的私鑰進(jìn)行加密;
42、將生成的認(rèn)證令牌返回給客戶端,作為后續(xù)訪問系統(tǒng)資源的憑證;
43、若用戶名和密碼匹配失敗,則輸出登錄失敗結(jié)果,拒絕登錄請求。
44、其中,基于用戶身份驗(yàn)證需求,確定登錄請求中包含的用戶信息,包括:
45、對登錄請求進(jìn)行解析,獲得用戶輸入的用戶名和密碼;
46、對用戶名和密碼進(jìn)行預(yù)處理,獲取清洗后的用戶信息;
47、將用戶名和密碼作為待驗(yàn)證信息。
48、其中,從用戶身份數(shù)據(jù)中獲取用戶權(quán)限信息,包括:
49、對用戶身份數(shù)據(jù)進(jìn)行解析,獲取與身份數(shù)據(jù)相關(guān)的權(quán)限信息集;該權(quán)限信息集包括用戶所屬的角色、權(quán)限級別和可訪問信息列表;
50、基于待驗(yàn)證數(shù)據(jù)生成訪問授權(quán)結(jié)果,包括:
51、將用戶權(quán)限信息與服務(wù)間類型中的每種類型進(jìn)行匹配,確定用戶對服務(wù)間類型的授權(quán)級別;
52、若用戶權(quán)限信息滿足預(yù)設(shè)的訪問條件,則生成授權(quán)通過的訪問授權(quán)結(jié)果;
53、若用戶權(quán)限信息不滿足訪問條件,則生成授權(quán)拒絕的訪問授權(quán)結(jié)果。
54、其中,一種煤礦多服務(wù)間快速認(rèn)證的系統(tǒng),包括:
55、注冊單元,用于新用戶通過用戶終端訪問認(rèn)證中心的注冊界面,填寫并提交注冊信息,認(rèn)證中心對注冊信息進(jìn)行驗(yàn)證,完成用戶注冊;
56、登錄單元,用于用戶在認(rèn)證中心的登錄界面輸入登錄信息,登錄請求通過加密協(xié)議傳輸至服務(wù)提供者,服務(wù)提供者將登錄請求轉(zhuǎn)發(fā)至認(rèn)證中心進(jìn)行驗(yàn)證,驗(yàn)證通過后生成認(rèn)證令牌,認(rèn)證令牌經(jīng)由服務(wù)提供者返回至用戶終端;
57、令牌存儲單元,用于用戶終端接收認(rèn)證令牌后,將認(rèn)證令牌存儲于本地;
58、服務(wù)訪問單元,用于用戶在訪問煤礦多服務(wù)間時,用戶終端攜帶認(rèn)證令牌發(fā)起訪問請求,服務(wù)提供者驗(yàn)證令牌的有效性,驗(yàn)證通過后,允許用戶訪問對應(yīng)的服務(wù)間;
59、令牌刷新單元,用于當(dāng)認(rèn)證令牌接近過期時,用戶終端自動調(diào)用認(rèn)證中心的令牌刷新接口,獲取新的認(rèn)證令牌,保證用戶的持續(xù)登錄狀態(tài)和認(rèn)證權(quán)限。
60、其中,登錄單元包括:
61、基于登錄信息,通過加密協(xié)議將登錄請求發(fā)送至煤礦多服務(wù)間;
62、煤礦多服務(wù)間接收到登錄請求后,將登錄請求轉(zhuǎn)發(fā)至認(rèn)證中心進(jìn)行用戶身份驗(yàn)證;
63、認(rèn)證中心對登錄信息進(jìn)行驗(yàn)證,驗(yàn)證通過后生成認(rèn)證令牌;
64、煤礦多服務(wù)間接收認(rèn)證中心生成的認(rèn)證令牌,并將認(rèn)證令牌經(jīng)由訪問系統(tǒng)返回至用戶終端;
65、用戶終端在后續(xù)請求中攜帶認(rèn)證令牌;
66、煤礦多服務(wù)間通過認(rèn)證中心的驗(yàn)證接口對所述認(rèn)證令牌進(jìn)行驗(yàn)證,包括驗(yàn)證認(rèn)證令牌的簽名和有效性;
67、若認(rèn)證令牌驗(yàn)證通過,煤礦多服務(wù)間從認(rèn)證令牌中提取用戶身份信息和權(quán)限信息,進(jìn)行訪問控制,確保用戶能夠訪問權(quán)限范圍內(nèi)的信息。
68、與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn):
69、一種煤礦多服務(wù)間快速認(rèn)證的方法,包括:新用戶通過用戶終端訪問認(rèn)證中心的注冊界面,填寫并提交注冊信息,認(rèn)證中心對注冊信息進(jìn)行驗(yàn)證,完成用戶注冊;用戶在認(rèn)證中心的登錄界面輸入登錄信息,登錄請求通過加密協(xié)議傳輸至服務(wù)提供者,服務(wù)提供者將登錄請求轉(zhuǎn)發(fā)至認(rèn)證中心進(jìn)行驗(yàn)證,驗(yàn)證通過后生成認(rèn)證令牌,認(rèn)證令牌經(jīng)由服務(wù)提供者返回至用戶終端;用戶終端接收認(rèn)證令牌后,將認(rèn)證令牌存儲于本地;用戶在訪問煤礦多服務(wù)間時,用戶終端攜帶認(rèn)證令牌發(fā)起訪問請求,服務(wù)提供者驗(yàn)證令牌的有效性,驗(yàn)證通過后,允許用戶訪問對應(yīng)的服務(wù)間;當(dāng)認(rèn)證令牌接近過期時,用戶終端自動調(diào)用認(rèn)證中心的令牌刷新接口,獲取新的認(rèn)證令牌,保證用戶的持續(xù)登錄狀態(tài)和認(rèn)證權(quán)限。實(shí)現(xiàn)了多服務(wù)系統(tǒng)間的快速認(rèn)證和單點(diǎn)登錄。
70、本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。
71、下面通過附圖和實(shí)施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。