一種基于xml配置的信息系統(tǒng)間授權(quán)差異檢測方法
【專利摘要】一種基于XML配置的信息系統(tǒng)間授權(quán)差異檢測方法,將各信息系統(tǒng)的用戶信息導(dǎo)出為EXCEL文件并上傳,WEB服務(wù)器獲取上傳文件并進行解析,通過用戶信息及角色對應(yīng)關(guān)系信息,得到初步分析結(jié)果二維數(shù)組集合;再結(jié)合初步分析結(jié)果二維數(shù)組集合和角色繼承關(guān)系,得到最終的檢測結(jié)果二維數(shù)組集合,所述二維數(shù)組集合記載同一用戶在不同信息系統(tǒng)中的授權(quán)差異,完成信息系統(tǒng)間授權(quán)差異的自動檢測。本發(fā)明使用計算機自動發(fā)現(xiàn)信息系統(tǒng)間的授權(quán)差異情況,解決了手工權(quán)限梳理方式費時費力、工作量巨大、易出錯的問題;通過XML配置文件實現(xiàn)自動遍歷檢測,提高了檢測的準(zhǔn)確性;管理員可以通過修改配置文件來適應(yīng)授權(quán)信息的變化,方便維護。
【專利說明】—種基于XML配置的信息系統(tǒng)間授權(quán)差異檢測方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計算機信息技術(shù),涉及電力信息系統(tǒng)的計算機信息安全,為一種基于XML配置的信息系統(tǒng)間授權(quán)差異檢測方法,結(jié)合電力信息系統(tǒng)業(yè)務(wù)需要,用于解決電力信息系統(tǒng)間用戶權(quán)限分配不當(dāng)導(dǎo)致的安全問題。
【背景技術(shù)】
[0002]電力信息系統(tǒng)間權(quán)限管理作為供電企業(yè)的一項重點工作,直接關(guān)系到供電企業(yè)職責(zé)落實、安全生產(chǎn)、經(jīng)營管理等各項工作的好壞。特別是近年來,隨著供電企業(yè)信息化水平的不斷提高,供電企業(yè)幾乎每件重要工作都需要信息系統(tǒng)的配合,若系統(tǒng)權(quán)限分配不當(dāng),不僅會造成供電企業(yè)各項工作無法正常流轉(zhuǎn),而且可能引發(fā)安全生產(chǎn)隱患,進而對供電企業(yè)造成巨大損失,在社會上產(chǎn)生惡劣影響。
[0003]然而,目前供電企業(yè)大多依靠管理員進行手工的權(quán)限管理方式,這種方式正面臨越來越多的挑戰(zhàn):
[0004]1、信息系統(tǒng)權(quán)限管理涉及的數(shù)據(jù)量龐大,配置復(fù)雜;
[0005]2、單純從制度上保障系統(tǒng)權(quán)限分配準(zhǔn)確無誤困難;
[0006]3、權(quán)限管理無輔助決策工具,無法自動發(fā)現(xiàn)權(quán)限配置錯誤的用戶,手工權(quán)限梳理方式費時費力,工作量巨大,并且易錯。
[0007]因此,有必要提供一種通用的信息系統(tǒng)間授權(quán)差異檢測方法自動發(fā)現(xiàn)權(quán)限配置錯誤的潛在用戶,為系統(tǒng)管理員提供決策參考,提高供電企業(yè)系統(tǒng)權(quán)限管理水平。
【發(fā)明內(nèi)容】
[0008]本發(fā)明要解決的問題是:現(xiàn)有電力信息系統(tǒng)的權(quán)限管理依靠人工手動設(shè)置,面對龐大的數(shù)據(jù)量,人工手動設(shè)置過于復(fù)雜,無法全面兼顧整個系統(tǒng),也沒有錯誤和遺漏的自檢來協(xié)助人工管理,因此針對信息系統(tǒng)間授權(quán)差異問題,需要提供一種通用的信息系統(tǒng)間授權(quán)差異檢測方法,能夠高效、準(zhǔn)確的檢測出電力信息系統(tǒng)間的授權(quán)差異情況,提高工作效率和準(zhǔn)確性。
[0009]本發(fā)明的技術(shù)方案為:一種基于XML配置的信息系統(tǒng)間授權(quán)差異檢測方法,使用計算機來自動發(fā)現(xiàn)各信息系統(tǒng)間用戶的授權(quán)差異情況,包括以下步驟:
[0010]步驟1:將各信息系統(tǒng)的用戶信息進行導(dǎo)出,其中一個信息系統(tǒng)對應(yīng)導(dǎo)出一個Excel文件;
[0011]步驟2:將需要進行授權(quán)差異檢測的兩個信息系統(tǒng)對應(yīng)的Excel文件上傳至Web服務(wù)器,調(diào)用文件解析類庫POI解析所述兩個Excel文件,并將解析后的結(jié)果分別保存為兩個哈希表,其中每個哈希表分別保存對應(yīng)信息系統(tǒng)的用戶信息,如果解析成功,進入步驟3 ;否則,進入步驟7;
[0012]步驟3:管理員預(yù)先配置好用戶的角色稱謂XML配置文件,并將其保存于Web服務(wù)器,所述角色稱謂XML配置文件記錄了用戶角色與稱謂的對應(yīng)關(guān)系,Web服務(wù)器中程序調(diào)用XML解析類庫Dom4j解析所述角色稱謂XML配置文件,并將解析后的結(jié)果保存為角色稱謂哈希表,角色稱謂哈希表中存放不同信息系統(tǒng)的用戶角色與稱謂對應(yīng)關(guān)系,解析成功進入步驟4,否則進入步驟7;
[0013]步驟4:根據(jù)步驟2生成的存放用戶信息的兩個哈希表及步驟3生成的角色稱謂哈希表,進行第一次授權(quán)差異分析,如果分析成功,將分析結(jié)果保存為初步分析結(jié)果二維數(shù)組集合,完成保存后進入步驟5 ;否則進入步驟7 ;
[0014]步驟5:管理員預(yù)先配置好用戶的角色繼承關(guān)系XML配置文件,并將其保存于Web服務(wù)器,所述繼承關(guān)系XML配置文件記錄了用戶角色的繼承關(guān)系,Web服務(wù)器中程序調(diào)用XML解析類庫Dom4j解析所述角色繼承關(guān)系XML配置文件,并將解析后的結(jié)果保存為角色繼承關(guān)系哈希表,解析成功進入步驟6,否則進入步驟7 ;
[0015]步驟6:根據(jù)步驟4中產(chǎn)生的初步分析結(jié)果二維數(shù)組集合和步驟5中得到的角色繼承關(guān)系哈希表,進行第二次授權(quán)差異分析,并將分析結(jié)果保存為二維數(shù)組集合,所述二維數(shù)組集合記載同一用戶在不同信息系統(tǒng)中的授權(quán)差異,將二維數(shù)組集合發(fā)送給管理員,完成信息系統(tǒng)間授權(quán)差異的自動檢測,流程結(jié)束;
[0016]步驟7:記錄錯誤日志并將出錯提示信息發(fā)送給管理員,結(jié)束流程。
[0017]步驟I中,導(dǎo)出的Excel文件至少包含與授權(quán)相關(guān)的關(guān)鍵字段,包括用戶名、用戶角色和用戶權(quán)限。
[0018]步驟2中,上傳文件調(diào)用Java文件解析類庫POI進行解析,解析得到的兩個哈希表均以用戶名為鍵、該用戶名對應(yīng)的不同角色組成的集合為值進行保存。
[0019]步驟3中,使用Java調(diào)用XML解析類庫Dom4 j解析角色稱謂XML配置文件,對于進行授權(quán)差異檢測的兩個信息系統(tǒng),設(shè)為第一信息系統(tǒng)和第二信息系統(tǒng),解析后的哈希表以第一信息系統(tǒng)中的角色稱謂為鍵、以第二信息系統(tǒng)中與第一信息系統(tǒng)相對應(yīng)的角色稱謂的集合為值進行保存。
[0020]步驟4的授權(quán)差異分析具體為:根據(jù)步驟2中得到的兩個哈希表,分別設(shè)為第一哈希表和第二哈希表,以第一哈希表為基準(zhǔn),循環(huán)遍歷第二哈希表,當(dāng)?shù)诙1碇杏泻偷谝还1礞I相同的記錄時,即兩個哈希表對應(yīng)的兩個信息系統(tǒng)包含同樣的用戶ul,則創(chuàng)建一個M*N的二維數(shù)組array [m] [η],其中M為用戶ul在第一系統(tǒng)中的角色數(shù)量,N為用戶ul在第二系統(tǒng)中的角色數(shù)量,并設(shè)置初始二維數(shù)組中元素的值均為O ;創(chuàng)建二維數(shù)組之后,循環(huán)遍歷步驟3得到的角色稱謂哈希表,查詢角色稱謂哈希表中的鍵值是否與array [m] [η]的行所代表的某個角色稱謂相同,若這種情況產(chǎn)生,即角色稱謂哈希表中的鍵值與array[m][η]的行i,i e [0,m-l]所代表的角色稱謂相同,則將角色稱謂哈希表中鍵值所對應(yīng)的角色稱謂的集合取出,并和array [i] [k],k e [0,η-1]所代表的各個元素的列所代表的角色稱謂作對比,假如吻合,則將對應(yīng)的array[i] [k]元素的值設(shè)置為1,直至角色稱謂循環(huán)遍歷結(jié)束,產(chǎn)生的二維數(shù)組array [m] [η]中,假如array [i] [j]的值為I,則代表在二維數(shù)組中第i+Ι行、第j+Ι列對應(yīng)的兩個角色稱謂不存在授權(quán)差異;若array [i] [j]的值為0,則代表在二維數(shù)組中第i+1行、第j+Ι列對應(yīng)的兩個角色稱謂存在授權(quán)差異,其中i e [0,m-l],j e [0,η-1];循環(huán)遍歷完第二哈希表后,被檢測的兩個信息系統(tǒng)中包含的相同的用戶都將分別產(chǎn)生一個二維數(shù)組,最終可以得到一個二維數(shù)組的集合,即初步分析結(jié)果二維數(shù)組集
口 ο[0021 ] 步驟5中,使用Java調(diào)用XML解析類庫Dom4 j解析角色繼承關(guān)系XML配置文件,解析后的角色繼承關(guān)系哈希表以子角色信息為鍵、以該子角色所對應(yīng)的父角色信息的集合為值進行保存。
[0022]步驟6的授權(quán)差異分析具體為:循環(huán)遍歷步驟4中產(chǎn)生的初步分析結(jié)果二維數(shù)組集合,對每個二維數(shù)組,結(jié)合步驟5的角色繼承關(guān)系哈希表以矩陣閉包算法的方式來處理二維數(shù)組,處理完之后的二維數(shù)組為最終的授權(quán)差異檢測結(jié)果二維數(shù)組。
[0023]本發(fā)明提供了一種通過Web服務(wù)器自動進行權(quán)限差異檢測方法,這里Web服務(wù)器指計算機,采用本發(fā)明所述技術(shù)方案,具有以下有益效果:使用計算機來自動發(fā)現(xiàn)信息系統(tǒng)間的授權(quán)差異情況,解決了以往手工權(quán)限梳理方式費時費力,工作量巨大,并且易錯的問題;通過XML配置文件,基于不同信息系統(tǒng)間相同角色不同稱謂對應(yīng)關(guān)系及角色間繼承關(guān)系,對不同信息系統(tǒng)間的授權(quán)差異情況進行多次檢測,提高了授權(quán)差異檢測的準(zhǔn)確性;管理員可以通過修改XML配置文件來適應(yīng)授權(quán)信息的變化,解決了以往解決此類問題過程中權(quán)限對應(yīng)信息滯后、難于維護等問題,方便管理員更新與維護。
【專利附圖】
【附圖說明】
[0024]圖1為本發(fā)明實例的方法流程圖。
【具體實施方式】
[0025]下面結(jié)合具體實例,進一步闡明本發(fā)明。
[0026]如圖1所示,一種基于XML配置的信息系統(tǒng)間授權(quán)差異檢測方法,包括如下步驟:
[0027]步驟1:各信息系統(tǒng)的用戶信息進行導(dǎo)出,其中一個信息系統(tǒng)對應(yīng)導(dǎo)出一個Excel文件。導(dǎo)出的Excel文件至少應(yīng)該包含用戶名、用戶角色及用戶權(quán)限等與授權(quán)相關(guān)的關(guān)鍵字段,其表格結(jié)構(gòu)示例如下:
[0028]
【權(quán)利要求】
1.一種基于XML配置的信息系統(tǒng)間授權(quán)差異檢測方法,其特征是使用計算機來自動發(fā)現(xiàn)各信息系統(tǒng)間用戶的授權(quán)差異情況,包括以下步驟: 步驟1:將各信息系統(tǒng)的用戶信息進行導(dǎo)出,其中一個信息系統(tǒng)對應(yīng)導(dǎo)出一個Excel文件; 步驟2:將需要進行授權(quán)差異檢測的兩個信息系統(tǒng)對應(yīng)的Excel文件上傳至Web服務(wù)器,調(diào)用文件解析類庫POI解析所述兩個Excel文件,并將解析后的結(jié)果分別保存為兩個哈希表,其中每個哈希表分別保存對應(yīng)信息系統(tǒng)的用戶信息,如果解析成功,進入步驟3 ;否貝U,進入步驟7 ; 步驟3:管理員預(yù)先配置好用戶的角色稱謂XML配置文件,并將其保存于Web服務(wù)器,所述角色稱謂XML配置文件記錄了用戶角色與稱謂的對應(yīng)關(guān)系,Web服務(wù)器中程序調(diào)用XML解析類庫Dom4j解析所述角色稱謂XML配置文件,并將解析后的結(jié)果保存為角色稱謂哈希表,角色稱謂哈希表中存放不同信息系統(tǒng)的用戶角色與稱謂對應(yīng)關(guān)系,解析成功進入步驟4,否則進入步驟7 ; 步驟4:根據(jù)步驟2生成 的存放用戶信息的兩個哈希表及步驟3生成的角色稱謂哈希表,進行第一次授權(quán)差異分析,如果分析成功,將分析結(jié)果保存為初步分析結(jié)果二維數(shù)組集合,完成保存后進入步驟5 ;否則進入步驟7 ; 步驟5:管理員預(yù)先配置好用戶的角色繼承關(guān)系XML配置文件,并將其保存于Web服務(wù)器,所述繼承關(guān)系XML配置文件記錄了用戶角色的繼承關(guān)系,Web服務(wù)器中程序調(diào)用XML解析類庫Dom4j解析所述角色繼承關(guān)系XML配置文件,并將解析后的結(jié)果保存為角色繼承關(guān)系哈希表,解析成功進入步驟6,否則進入步驟7 ; 步驟6:根據(jù)步驟4中產(chǎn)生的初步分析結(jié)果二維數(shù)組集合和步驟5中得到的角色繼承關(guān)系哈希表,進行第二次授權(quán)差異分析,并將分析結(jié)果保存為二維數(shù)組集合,所述二維數(shù)組集合記載同一用戶在不同信息系統(tǒng)中的授權(quán)差異,將二維數(shù)組集合發(fā)送給管理員,完成信息系統(tǒng)間授權(quán)差異的自動檢測,流程結(jié)束; 步驟7:記錄錯誤日志并將出錯提示信息發(fā)送給管理員,結(jié)束流程。
2.根據(jù)權(quán)力要求I所述的一種基于XML配置的信息系統(tǒng)間授權(quán)差異檢測方法,其特征是步驟I中導(dǎo)出的Excel文件至少包含與授權(quán)相關(guān)的關(guān)鍵字段,包括用戶名、用戶角色和用戶權(quán)限。
3.根據(jù)權(quán)力要求I所述的一種基于XML配置的信息系統(tǒng)間授權(quán)差異檢測方法,其特征是步驟2中,上傳文件調(diào)用Java文件解析類庫POI進行解析,解析得到的兩個哈希表均以用戶名為鍵、該用戶名對應(yīng)的不同角色組成的集合為值進行保存。
4.根據(jù)權(quán)力要求I所述的一種基于XML配置的信息系統(tǒng)間授權(quán)差異檢測方法,其特征是步驟3中,使用Java調(diào)用XML解析類庫Dom4 j解析角色稱謂XML配置文件,對于進行授權(quán)差異檢測的兩個信息系統(tǒng),設(shè)為第一信息系統(tǒng)和第二信息系統(tǒng),解析后的哈希表以第一信息系統(tǒng)中的角色稱謂為鍵、以第二信息系統(tǒng)中與第一信息系統(tǒng)相對應(yīng)的角色稱謂的集合為值進行保存。
5.根據(jù)權(quán)力要求I所述的一種基于XML配置的信息系統(tǒng)間授權(quán)差異檢測方法,其特征是步驟4的授權(quán)差異分析具體為:根據(jù)步驟2中得到的兩個哈希表,分別設(shè)為第一哈希表和第二哈希表,以第一哈希表為基準(zhǔn),循環(huán)遍歷第二哈希表,當(dāng)?shù)诙1碇杏泻偷谝还1礞I相同的記錄時,即兩個哈希表對應(yīng)的兩個信息系統(tǒng)包含同樣的用戶ul,則創(chuàng)建一個M*N的二維數(shù)組array [m] [η],其中M為用戶ul在第一系統(tǒng)中的角色數(shù)量,N為用戶ul在第二系統(tǒng)中的角色數(shù)量,并設(shè)置初始二維數(shù)組中元素的值均為O ;創(chuàng)建二維數(shù)組之后,循環(huán)遍歷步驟3得到的角色稱謂哈希表,查詢角色稱謂哈希表中的鍵值是否與array [m] [η]的行所代表的某個角色稱謂相同,若這種情況產(chǎn)生,即角色稱謂哈希表中的鍵值與array[m] [η]的行i,i e [0,m-l]所代表的角色稱謂相同,則將角色稱謂哈希表中鍵值所對應(yīng)的角色稱謂的集合取出,并和array[i] [k],k e [O,n_l]所代表的各個元素的列所代表的角色稱謂作對比,假如吻合,則將對應(yīng)的array[i][k]元素的值設(shè)置為1,直至角色稱謂循環(huán)遍歷結(jié)束,產(chǎn)生的二維數(shù)組array [m] [η]中,假如array [i] [j]的值為I,則代表在二維數(shù)組中第i+1行、第j+Ι列對應(yīng)的兩個角色稱謂不存在授權(quán)差異;若array [i] [j]的值為O,則代表在二維數(shù)組中第i+Ι行、第j+Ι列對應(yīng)的兩個角色稱謂存在授權(quán)差異,其中i e [0,m-l],j e [Ο,η-1];循環(huán)遍歷完第二哈希表后,被檢測的兩個信息系統(tǒng)中包含的相同的用戶都將分別產(chǎn)生一個二維數(shù)組,最終可以得到一個二維數(shù)組的集合,即初步分析結(jié)果二維數(shù)組集合。
6.根據(jù)權(quán)力要求I所述的一種基于XML配置的信息系統(tǒng)間授權(quán)差異檢測方法,其特征是步驟5中使用Java調(diào)用XML解析類庫Dom4j解析角色繼承關(guān)系XML配置文件,解析后的角色繼承關(guān)系哈希表以子角色信息為鍵、以該子角色所對應(yīng)的父角色信息的集合為值進行保存。
7.根據(jù)權(quán)力要求I所述的一種基于XML配置的信息系統(tǒng)間授權(quán)差異檢測方法,其特征是步驟6的授權(quán)差異分析具 體為:循環(huán)遍歷步驟4中產(chǎn)生的初步分析結(jié)果二維數(shù)組集合,對每個二維數(shù)組,結(jié)合步驟5的角色繼承關(guān)系哈希表以矩陣閉包算法的方式來處理二維數(shù)組,處理完之后的二維數(shù)組為最終的授權(quán)差異檢測結(jié)果二維數(shù)組。
【文檔編號】G06F21/45GK103577746SQ201310554241
【公開日】2014年2月12日 申請日期:2013年11月8日 優(yōu)先權(quán)日:2013年11月8日
【發(fā)明者】趙新建, 韋磊, 劉少君, 戚榮志, 李水艷, 張雪潔, 周文歡, 陳亞明, 余霖 申請人:國家電網(wǎng)公司, 江蘇省電力公司, 江蘇省電力公司南京供電公司, 河海大學(xué)