專利名稱::一種權限管理方法
技術領域:
:本發(fā)明涉及權限管理方法,尤其涉及IT領域的業(yè)務權限管理的實現(xiàn)方法。
背景技術:
:通常實現(xiàn)用戶權限管理的方法是采用數(shù)據(jù)庫方式對系統(tǒng)權限進行管理,在數(shù)據(jù)庫中通過屬性字段定義各種權限,每個用戶記錄中描述其所擁有的權限。用戶每執(zhí)行一個業(yè)務操作,都和數(shù)據(jù)庫連接,進行權限判斷,如果用戶有權限,則繼續(xù)執(zhí)行。如公開號為CN101441688A的"一種用戶權限分配方法和一種用戶權限控制方法,,提出一種方案,包括從預置的用戶角色映射關系表中獲取相應用戶的角色,提取所述角色的資源訪問權限,資源訪問權限采用正則表達式定義,并記錄在權限定義文件中,所述的資源并由唯一的資源代碼進行標識。攔截用戶提交的資源訪問請求,獲得的資源代碼與角色的資源訪問權限匹配,匹配成功則進行資源訪問,匹配失敗則拒絕訪問。又如,/>開號為CN101414253A的"一種權限管理方法及系統(tǒng),,提出一種方案,用于在權限管理系統(tǒng)中對用戶的操作請求進行校驗,所述的方法包括接受用戶提出的操作請求,從數(shù)據(jù)庫中獲取用戶所屬角色分配的標識符,數(shù)據(jù)庫內(nèi)存儲用戶、角色及角色所分配的權標識符的對應關系。從系統(tǒng)中各種權限資源子文件獲取并緩存與所述權限標識符相對應的權限資源,所述權限資源子文件存儲其所對應業(yè)務的組件^^莫塊的權限資源。攔截用戶的操作請求并判斷所述用戶所分配的權限資源是否包含所述的操作請求。是則接受操作請求,否則拒絕操作請求。但是這樣的權限管理方法,用戶每執(zhí)行一個業(yè)務,每次訪問均必須到服務器數(shù)據(jù)庫進行身份驗證和鑒權。因此,業(yè)務執(zhí)行效率低,擴展難。并且在具體業(yè)務上進行判斷,判斷代碼和業(yè)務代碼混合在一起,耦合性太強。另一方面,當要擴展業(yè)務模塊時,需對數(shù)據(jù)庫結(jié)構進行修改,增加工作難度,不易擴展。
發(fā)明內(nèi)容因此,針對上述問題,本發(fā)明提出一種方案來解決。本發(fā)明的技術方案是本發(fā)明的權限管理方法,包括如下步驟A.驗證登錄密碼;B.獲取登錄用戶的角色ID;C.將角色ID與本地數(shù)據(jù)字典的權限ID匹配;D.解析權限ID,獲取登錄用戶的授權的業(yè)務ID。進一步的,在所述的步驟D后進行步驟E.才艮據(jù)業(yè)務ID,動態(tài)創(chuàng)建加載相應業(yè)務模塊。進一步的,如果角色ID對應的權限變更后,只需對權限ID進行變更并同步至本地數(shù)據(jù)字典中。進一步的,所述的每個業(yè)務ID對應于一個相應的業(yè)務才莫塊。更進一步的,增加一個業(yè)務^t塊則增加一個業(yè)務ID。進一步的,所述的業(yè)務ID為一個二進制位lt據(jù)。增加一個業(yè)務才莫塊則在二進制^fi數(shù)據(jù)的業(yè)務ID增加一位。進一步的,所述的權限ID為一個二進制位數(shù)據(jù)。所述的權限ID是所述的業(yè)務ID的進行位運算結(jié)果。更進一步的,如果所述的業(yè)務ID用'T,表有權限,"0"表非權限,則所述的權限ID對所述的業(yè)務ID的進行或運算;如果所述的業(yè)務ID用"0"表有權限,'T,表非權限,則所述的權限ID對所述的業(yè)務ID的進行與運算。本發(fā)明采用二進制位表示各業(yè)務模塊,業(yè)務模塊擴展方便,各業(yè)務模塊可靈活組合,創(chuàng)建不同角色對應的權限ID;同時,根據(jù)權限ID,動態(tài)構建業(yè)務模塊,節(jié)省系統(tǒng)資源,提高執(zhí)行效率。具有優(yōu)勢一、節(jié)省系統(tǒng)資源,提高系統(tǒng)響應速度;二、登錄后的業(yè)務操作,無需再進行權P艮認證,提高了執(zhí)行效率。圖l是本發(fā)明的實施例流程圖;圖2是本發(fā)明的用戶、角色與業(yè)務的權限關系示意圖。具體實施例方式現(xiàn)結(jié)合附圖和具體實施方式對本發(fā)明進一步說明。如圖l所示,本發(fā)明的實施例是這樣的。步驟101:用戶發(fā)起登錄請求;步驟102:驗證密碼是否通過;如果是,則進入步驟103:獲取登錄用戶的角色ID;步驟104:將角色ID與本地it據(jù)字典的^又限ID匹配;步驟105:解析權限ID,獲取登錄用戶的授權的業(yè)務ID;步驟106:才艮據(jù)業(yè)務ID,動態(tài)創(chuàng)建加載相應業(yè)務^jt塊,并進入步驟107;如果否,則跳轉(zhuǎn)步驟107:登錄結(jié)束。本發(fā)明的業(yè)務ID和權限ID采用二進制位。所述的權限ID是所述的業(yè)務ID的進行位運算結(jié)杲。舉例i兌明某系統(tǒng)中有五個業(yè)務模塊需進行權限控制,業(yè)務ID用'T,表有權限,"0"表非權限,其業(yè)務名稱及業(yè)務ID分配如表1:表l<table>tableseeoriginaldocumentpage7</column></row><table>在該系統(tǒng)中,有三種角色,它們對應的角色ID及業(yè)務操作權限,如表2:表2<table>tableseeoriginaldocumentpage7</column></row><table>根據(jù)本方法,所述的權限ID對所述的業(yè)務ID的進^f亍或運算,則各角色的4又限ID計算結(jié)果及對應關系如表3:表3角色ID權限ID二進制十進制111111312011011331000016如果業(yè)務ID用"0"表有權限,"1"表非權限,其業(yè)務名稱及業(yè)務ID分配如表r:表r業(yè)務名稱業(yè)務A業(yè)務B業(yè)務c業(yè)務D業(yè)務E業(yè)務ID二進制1111011101110111011101111根據(jù)本方法,所述的權限ID對所述的業(yè)務ID的進行與運算,則安裝表2例子所表示權限,各角色的權限ID計算結(jié)果及對應關系如表2,表2,角色ID權限ID(二進制)100000210010301111將表3或表2,中的角色ID和權限ID,存儲至本地數(shù)據(jù)字典中。用戶登錄-驗證通過后,得到返回的角色ID,通過角色ID在本地數(shù)據(jù)字典中匹配相應權限ID,解析權限ID,得到相應的業(yè)務ID,然后,動態(tài)構建業(yè)務模塊,實現(xiàn)權限管理。當然,優(yōu)選的,本發(fā)明如果所述的業(yè)務ID用"1"表有權限,"0"表非權限。這樣方便業(yè)務擴展。參閱圖2所示,舉例說明本發(fā)明包括5個用戶,分別是用戶211、用戶212、用戶213、用戶214和用戶215。其中用戶211和用戶212擁有角色A221的^又限,用戶213擁有角色B222的權限,用戶214和用戶215擁有角色C223的權限。其中,角色A221的權限包含業(yè)務A231、業(yè)務B232、業(yè)務C233、業(yè)務D234、業(yè)務E235;角色B222的權限包含業(yè)務A、業(yè)務C、業(yè)務D;角色C223的權限包含業(yè)務E。則用戶211、用戶212通過密碼登錄只能獲取角色A221的ID,并根據(jù)本地數(shù)據(jù)字典匹配的權限ID:11111,解析出對應的業(yè)務A231的ID:00001、業(yè)務B232的ID:00010、業(yè)務C233的ID:00100、業(yè)務D234的ID:01000、業(yè)務E235的ID:100G0。然后創(chuàng)建加載相應業(yè)務A模塊、業(yè)務B模塊、業(yè)務C模塊、業(yè)務D模塊、業(yè)務E模塊。其余類推,不再贅述。需要提及的是,本地數(shù)據(jù)字典的更新,是通過局域網(wǎng)、INTERNET網(wǎng)或無線網(wǎng)絡從服務器進行下載更新、同步。在本發(fā)明的實施例中,采用GPRS無線數(shù)據(jù)通信方式,實現(xiàn)本地數(shù)據(jù)字典遠程更新、同步。并且由于終端上的數(shù)據(jù)字典文件是一個二進制文件格式,非文本文件,一般情況無法查看到里面內(nèi)容,本發(fā)明方案尤其適用于手持終端,用戶一般無法通過其他途徑接觸到里面的數(shù)據(jù)。因此簡單有效,無需龐大的加密算法。當然如果要將此發(fā)明的技術方案擴展到其他領域,可對數(shù)據(jù)字典進行相應加密算法處理。本發(fā)明的優(yōu)點在于1.新建一個用戶,只需賦予恰當?shù)慕巧?,自動繼承該角色對應的操作權限,無須其它^L置;2.新增一個角色,只需根據(jù)新的業(yè)務ID組合,生成新的權限ID,并保存到數(shù)據(jù)字典;3.角色權限的修改簡單,要修改某個角色所對應的權限,只要根據(jù)新的業(yè)務ID組合,重新生成權限ID,并替換到數(shù)據(jù)字典中;4.擴展業(yè)務模塊方便,只要給新業(yè)務模塊分配一個未使用的業(yè)務ID(二進制位標志),并根據(jù)需要,通過二進制位或運算,添加到現(xiàn)有角色對應的權限ID中;業(yè)務模塊的動態(tài)構建,實現(xiàn)了所見即所得的操作接口,只要用戶能看到的業(yè)務模塊,即是其允許操作的業(yè)務模塊,之后的業(yè)務操作無需再進行權限認證。盡管結(jié)合優(yōu)選實施方案具體展示和介紹了本發(fā)明,但所屬領域的技術人員應該明白,在不脫離所附權利要求書所限定的本發(fā)明的精神和范圍內(nèi),在形式上和細節(jié)上可以對本發(fā)明做出各種變化,均為本發(fā)明的保護范圍。權利要求1.一種權限管理方法,其特征在于,包括如下步驟A.驗證登錄密碼;B.獲取登錄用戶的角色ID;C.將角色ID與本地數(shù)據(jù)字典的權限ID匹配;D.解析權限ID,獲取登錄用戶的授權的業(yè)務ID。2.根據(jù)權利要求1所述的權限管理方法,其特征在于,在所述的步驟D后進行E.根據(jù)業(yè)務ID,動態(tài)創(chuàng)建加載相應業(yè)務模塊。3.根據(jù)權利要求1所述的權限管理方法,其特征在于如果角色ID對應的權限變更后,只需對權限ID進行變更并同步至本地數(shù)據(jù)字典中。4.根據(jù)權利要求1或2所述的權限管理方法,其特征在于所述的每個業(yè)務ID對應于一個相應的業(yè)務才莫塊。5.根據(jù)權利要求4所述的權限管理方法,其特征在于增加一個業(yè)務模塊則增加一個業(yè)務ID。6.根據(jù)權利要求1所述的權限管理方法,其特征在于所述的業(yè)務ID為一個二進制位數(shù)據(jù)。7.根據(jù)權利要求5所述的權限管理方法,其特征在于增加一個業(yè)務模塊則在二進制位數(shù)據(jù)的業(yè)務ID增加一位。8.根據(jù)權利要求1所述的權限管理方法,其特征在于所述的權限ID為一個二進制位數(shù)據(jù)。9.根據(jù)權利要求1所述的權限管理方法,其特征在于所述的權限ID是所述的業(yè)務ID的進行位運算結(jié)果。10.根據(jù)權利要求l所述的權限管理方法,其特征在于如果所述的業(yè)務ID用"1"表有權限,"0"表非權限,則所述的權限ID對所述的業(yè)務ID的進行或運算;如果所述的業(yè)務ID用"0"表有權限,"1"表非權限,則所述的權限ID對所述的業(yè)務ID的進4亍與運算。全文摘要本發(fā)明涉及權限管理方法,尤其涉及IT領域的業(yè)務權限管理的實現(xiàn)方法。本發(fā)明的權限管理方法,包括如下步驟A.驗證登錄密碼;B.獲取登錄用戶的角色ID;C.將角色ID與本地數(shù)據(jù)字典的權限ID匹配;D.解析權限ID,獲取登錄用戶的授權的業(yè)務ID;步驟E.根據(jù)業(yè)務ID,動態(tài)創(chuàng)建加載相應業(yè)務模塊。所述的業(yè)務ID和權限ID采用二進制位表示。本發(fā)明的技術方案具有優(yōu)勢一、節(jié)省系統(tǒng)資源,提高系統(tǒng)響應速度;二、登錄后的業(yè)務操作,無需再進行權限認證,提高了執(zhí)行效率。文檔編號H04L29/06GK101621518SQ20091011226公開日2010年1月6日申請日期2009年7月20日優(yōu)先權日2009年7月20日發(fā)明者林永煌,熊晨鋒申請人:廈門敏訊信息技術股份有限公司