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

權(quán)限角色繼承方法

文檔序號:6604176閱讀:582來源:國知局
專利名稱:權(quán)限角色繼承方法
技術(shù)領(lǐng)域
本發(fā)明大體上涉及軟件系統(tǒng)中的權(quán)限管理,更具體地,涉及一種權(quán)限角色繼承方 法,其利用數(shù)據(jù)庫的功能,通過結(jié)構(gòu)化查詢語言(Structured Query Language,以下簡稱為 SQL)來處理角色繼承關(guān)系。
背景技術(shù)
權(quán)限管理是各種應(yīng)用軟件系統(tǒng)的一個(gè)重要功能,隨著業(yè)務(wù)應(yīng)用的越來越復(fù)雜,權(quán) 限的設(shè)置及使用也越來越復(fù)雜。為了更好地完成對用戶的授權(quán),可以引入權(quán)限的繼承。權(quán) 限的繼承能夠有效簡化授權(quán)人對普通業(yè)務(wù)操作用戶的授權(quán)及權(quán)限修改等管理工作。圖1是權(quán)限的基于角色(role)的繼承關(guān)系的示圖,如圖1所示,r7雖然只直接繼 承了 r4,r5, r6,其實(shí)還間接繼承了 rl,r2, r3。所以繼承具有傳遞性。當(dāng)前的管理軟件解決權(quán)限繼承問題的方法主要有幾個(gè)方法1)根據(jù)繼承關(guān)系,采用遞歸的方式,對當(dāng)前用戶包含的角色,以及每個(gè)角色可能存 在對其它角色的繼承,使用遞歸的方法查找這些角色。每次使用時(shí)必須進(jìn)行遞歸訪問,效率 比較低下;該方法的優(yōu)點(diǎn)是不需額外處理。2)根據(jù)繼承關(guān)系,建立繼承關(guān)系的雙鏈表結(jié)構(gòu),每個(gè)角色如果存在繼承關(guān)系,建立 鏈表結(jié)構(gòu)。用鏈表來存放繼承關(guān)系。一個(gè)角色不僅需要記錄它繼承了誰,還要記錄下來誰 繼承了它。這樣就不需使用遞歸方式了,通過鏈表結(jié)構(gòu)就能夠找到有繼承關(guān)系的角色。該 方案在權(quán)限使用時(shí)效率比方法1有一定的改進(jìn),但是需要維護(hù)兩個(gè)鏈表結(jié)構(gòu)的信息,另外 通常需要引入計(jì)數(shù)器。由于鏈表的處理通常是通過程序來處理的,而在權(quán)限訪問中,查找角色繼承只是 權(quán)限訪問的一個(gè)步驟。還需要根據(jù)角色查找每個(gè)角色的權(quán)限。因此,繼續(xù)一種新型的解決方案來將復(fù)雜的繼承關(guān)系的處理由強(qiáng)大的SQL來處 理,從而能夠大大降低由于角色繼承帶來的開發(fā)方面的復(fù)雜性,并盡可能將由于處理繼承 而帶來的性能損失降到最低。

發(fā)明內(nèi)容
鑒于上述情況,本發(fā)明提供了一種權(quán)限角色繼承方法,其充分利用數(shù)據(jù)庫的功能, 將復(fù)雜的繼承關(guān)系的處理由強(qiáng)大的SQL來處理,從而能夠大大降低由于角色繼承帶來的開 發(fā)方面的復(fù)雜性,并盡可能將由于處理繼承而帶來的性能損失降到最低。根據(jù)本發(fā)明,權(quán)限角色繼承方法包括以下步驟步驟S202,設(shè)計(jì)角色繼承的數(shù)據(jù) 庫表,并將關(guān)于角色繼承的繼承信息保存在數(shù)據(jù)庫表中;步驟S204,利用數(shù)據(jù)庫表,根據(jù)對 角色繼承的繼承關(guān)系的處理來處理數(shù)據(jù)庫表;以及步驟S206,根據(jù)數(shù)據(jù)庫表,排除角色繼 承中的循環(huán)繼承關(guān)系。其中,數(shù)據(jù)庫表包含了繼承角色與被繼承角色之間的雙向鏈表信息,并且其至少 包括以下參數(shù)繼承角色;被繼承角色;繼承標(biāo)識,關(guān)于一次繼承操作發(fā)生的唯一標(biāo)識;以及是否繼承線,存在直接繼承關(guān)系的權(quán)限角色之間的連線。對角色繼承的繼承關(guān)系的處理至少包括增加處理、刪除處理、查詢處理以及修改處理。
可選地,在步驟S204中,當(dāng)對角色繼承的繼承關(guān)系執(zhí)行增加處理時(shí),查找被繼承 角色的所有繼承角色,查找繼承于所查找到的繼承角色的所有角色,并且將各角色之間的 直接角色繼承信息以及引發(fā)的所有間接角色繼承信息,利用同一個(gè)唯一標(biāo)識來批量插入數(shù) 據(jù)庫表。其中,間接角色繼承信息包括繼承于增加處理的繼承角色的所有角色均作為繼 承角色,以及增加處理的繼承角色由于增加處理而帶來的所有新增的繼承角色作為被繼承 角色??蛇x地,在步驟S204中,當(dāng)對角色繼承的繼承關(guān)系執(zhí)行刪除處理時(shí),輸入需要刪 除的繼承關(guān)系,以找到繼承角色和被繼承角色,查找繼承角色的所有繼承關(guān)系,生成第一臨 時(shí)表,查找被繼承角色的所有繼承關(guān)系,生成第二臨時(shí)表,根據(jù)第一臨時(shí)表和第二臨時(shí)表的 繼承標(biāo)識,刪除與繼承角色和被繼承角色有關(guān)的所有繼承關(guān)系,根據(jù)第一臨時(shí)表,調(diào)用增加 處理的功能,重新生成繼承角色的所有繼承關(guān)系,并且根據(jù)第二臨時(shí)表,調(diào)用增加處理的功 能,重新生成被繼承角色的所有繼承關(guān)系。可選地,在步驟S204中,當(dāng)對角色繼承的繼承關(guān)系執(zhí)行查詢處理時(shí),根據(jù)數(shù)據(jù)庫 表,查找繼承角色的所有被繼承角色。應(yīng)了解,修改處理為增加處理和刪除處理的組合。在步驟S206中,包括加入一個(gè)關(guān)于被繼承角色和繼承角色的繼承關(guān)系;查找被 繼承角色繼承的第一所有角色;查找繼承于繼承角色的第二所有角色;將第一所有角色和 第二所有角色的數(shù)據(jù)形成相同的第一和第二數(shù)據(jù)笛卡爾集合;以及將第一數(shù)據(jù)笛卡爾集合 中的繼承關(guān)系與第二數(shù)據(jù)笛卡爾集合中的繼承關(guān)系進(jìn)行比較,以確定是否存在循環(huán)繼承關(guān) 系。因此,通過本發(fā)明,能夠很好地解決權(quán)限的角色繼承問題,與傳統(tǒng)處理方式相比, 不僅使開發(fā)的復(fù)雜性大大降低,更重要的是在性能方面基本沒有額外的損失,大大提升了 權(quán)限的可用性。


圖1是權(quán)限的基于角色(role)的繼承關(guān)系的示圖;圖2是根據(jù)本發(fā)明的權(quán)限角色繼承方法的流程圖。
具體實(shí)施例方式以下將結(jié)合附圖詳細(xì)描述本發(fā)明的實(shí)施例。應(yīng)了解,權(quán)限的角色繼承主要涉幾個(gè)問題權(quán)限使用時(shí)的角色繼承查找;角色繼 承關(guān)系的修改或刪除處理;以及角色的繼承的循環(huán)繼承檢查等。因此,要求在充分使用角色 繼承帶來的管理便利的同時(shí),又能夠盡量不損失性能和可用性。圖2是根據(jù)本發(fā)明的權(quán)限角色繼承方法的流程圖。如圖2所示,該方法包括以下 步驟
步驟S202,設(shè)計(jì)角色繼承的數(shù)據(jù)庫表,并將關(guān)于角色繼承的繼承信息保存在數(shù)據(jù) 庫表中;步驟S204,利用數(shù)據(jù)庫表,根據(jù)對角色繼承的繼承關(guān)系的處理來處理數(shù)據(jù)庫表; 以及步驟S206,根據(jù)數(shù)據(jù)庫表,排除角色繼承中的循環(huán)繼承關(guān)系。其中,數(shù)據(jù)庫表包含了繼承角色與被繼承角色之間的雙向鏈表信息,并且其至少 包括以下參數(shù)繼 承角色;被繼承角色;繼承標(biāo)識,關(guān)于一次繼承操作發(fā)生的唯一標(biāo)識;以 及是否繼承線,存在直接繼承關(guān)系的權(quán)限角色之間的連線。對角色繼承的繼承關(guān)系的處理至少包括增加處理、刪除處理、查詢處理以及修改處理。可選地,在步驟S204中,當(dāng)對角色繼承的繼承關(guān)系執(zhí)行增加處理時(shí),查找被繼承 角色的所有繼承角色,查找繼承于所查找到的繼承角色的所有角色,并且將各角色之間的 直接角色繼承信息以及引發(fā)的所有間接角色繼承信息,利用同一個(gè)唯一標(biāo)識來批量插入數(shù) 據(jù)庫表。其中,間接角色繼承信息包括繼承于增加處理的繼承角色的所有角色均作為繼 承角色,以及增加處理的繼承角色由于增加處理而帶來的所有新增的繼承角色作為被繼承 角色??蛇x地,在步驟S204中,當(dāng)對角色繼承的繼承關(guān)系執(zhí)行刪除處理時(shí),輸入需要刪 除的繼承關(guān)系,以找到繼承角色和被繼承角色,查找繼承角色的所有繼承關(guān)系,生成第一臨 時(shí)表,查找被繼承角色的所有繼承關(guān)系,生成第二臨時(shí)表,根據(jù)第一臨時(shí)表和第二臨時(shí)表的 繼承標(biāo)識,刪除與繼承角色和被繼承角色有關(guān)的所有繼承關(guān)系,根據(jù)第一臨時(shí)表,調(diào)用增加 處理的功能,重新生成繼承角色的所有繼承關(guān)系,并且根據(jù)第二臨時(shí)表,調(diào)用增加處理的功 能,重新生成被繼承角色的所有繼承關(guān)系??蛇x地,在步驟S204中,當(dāng)對角色繼承的繼承關(guān)系執(zhí)行查詢處理時(shí),根據(jù)數(shù)據(jù)庫 表,查找繼承角色的所有被繼承角色。應(yīng)了解,修改處理為增加處理和刪除處理的組合。在步驟S206中,包括加入一個(gè)關(guān)于被繼承角色和繼承角色的繼承關(guān)系;查找被 繼承角色繼承的第一所有角色;查找繼承于繼承角色的第二所有角色;將第一所有角色和 第二所有角色的數(shù)據(jù)形成相同的第一和第二數(shù)據(jù)笛卡爾集合;以及將第一數(shù)據(jù)笛卡爾集合 中的繼承關(guān)系與第二數(shù)據(jù)笛卡爾集合中的繼承關(guān)系進(jìn)行比較,以確定是否存在循環(huán)繼承關(guān) 系??梢?,本發(fā)明的技術(shù)方案主要結(jié)合了數(shù)據(jù)庫技術(shù)以及對授權(quán)過程的一些處理,以 下將詳細(xì)描述本發(fā)明的技術(shù)方案所涉及到的幾個(gè)部分?!?、角色繼承的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)通過設(shè)計(jì)一個(gè)數(shù)據(jù)庫的表,來保存繼承信息,從而通過一個(gè)數(shù)據(jù)庫表來實(shí)現(xiàn)雙鏈 表結(jié)構(gòu)的功能。數(shù)據(jù)庫的表結(jié)構(gòu)(假定表名為RoleInherit)設(shè)計(jì)如下表1所示表一 利用這樣一個(gè)表來保存角色的繼承信息。繼承標(biāo)識是指一次繼承操作發(fā)生的唯一 標(biāo)識。是否繼承線是指存在直接繼承關(guān)系的角色之間的連線,用1和0標(biāo)識“是”與“否”, 上表括號中為表的字段名稱。該表結(jié)構(gòu)的信息既可以看作是繼承與被繼承的正向關(guān)系,也可以獲取從被繼承角 色到繼承角色的方向關(guān)系。該表可以表達(dá)記錄雙向鏈表的信息。另外,為了統(tǒng)一處理,每次 創(chuàng)建或刪除角色,均需要在本表中增加或刪除一條繼承角色和被繼承角色都是該角色的記 錄。例如,新建一個(gè)角色rl,則向該表中增加一條記錄insert into RoleInherit (rfrom, rto, flag, isline) values(' rl' , ' rl' , ' 10001001' ,1);二、角色繼承的增加/刪除/查詢處理 利用表一的結(jié)構(gòu),下面討論角色繼承的增加/修改/刪除/查詢等處理方法。1)增加新增加一個(gè)角色繼承關(guān)系。增加一個(gè)繼承關(guān)系時(shí),如RoleA集成RoleB,需要處理的過程如下查找被繼承角色的所有繼承角色;查找所有繼承于繼承角色的所有角色;將本次直接角色繼承信息,以及由于本次直接角色繼承引發(fā)的所有間接角色繼承 信息,使用同一個(gè)唯一標(biāo)識,一起批量插入數(shù)據(jù)庫。其中,間接角色繼承的信息包括繼承自本繼承角色的所有角色均作為繼承角色, 將本繼承角色由于本次繼承操作帶來的所有新增的繼承角色作為被繼承角色。上面所有過程可以使用一條SQL語句來完成。例如,以圖1為例,已存在的繼承信息包括r2 繼承 rl ;r3 繼承 rl ;r4 繼承 r2 ;r4 繼承 r3 ;r7 繼承 r5 ;因此,如果現(xiàn)在需要增加一個(gè)繼承關(guān)系r5繼承r4,則上面所有過程可以使用一 條SQL語句來完成insert into roleinherit(rfrom, rto, flag, isline)select t3.cl, t3. c2, imyflag, case when t3. cl = Omyrfrom and t3. c2 = Omyrto then 1 else Oend from(select distinct (tl. rto+t2. rfrom)cO, t2.rfrom cl,tl.rto c2 from(select rto from roleinherit where rfrom = imyrfrom)as tl, (select rfromfrom roleinherit where rto = imyrto)as t2)as t3如表二所示,上面的語句產(chǎn)生的作用是向數(shù)據(jù)庫中增加如下數(shù)據(jù)表二 上面表二的數(shù)據(jù)表示了 r5繼承r4,該次操作帶來的包括直接和間接的角色繼承 信息,因此,除了 r5繼承角色rl, r2,r3,r4之外,繼承r5的r7也需要增加rl, r2,r3,r4 的繼承信息。2)刪除刪除一個(gè)選定的角色繼承關(guān)系。刪除的處理相對比較復(fù)雜,因?yàn)?,不僅需要刪除直接繼承導(dǎo)致的繼承關(guān)系,還需要 處理由于該繼承線的存在,而導(dǎo)致的其繼承的角色以及繼承自它的角色帶來的繼承影響。主要處理流程如下輸入需要刪除的繼承關(guān)系(rfrom,rto);查找繼承rfrom的所有繼承關(guān)系,生成臨時(shí)表1 ;查找rto繼承的所有繼承關(guān)系,生成臨時(shí)表2 ;根據(jù)臨時(shí)表1和臨時(shí)表2的繼承標(biāo)識,刪除所有與(rfrom,rto)有關(guān)的繼承關(guān)系;根據(jù)臨時(shí)表1,調(diào)用1)中的增加功能,重新生成繼承rfrom的所有繼承關(guān)系;以及根據(jù)臨時(shí)表2,調(diào)用1)中的增加功能,重新生成rto繼承的所有繼承關(guān)系。根據(jù)上面的流程就可以實(shí)現(xiàn)角色繼承關(guān)系的刪除。假如,已經(jīng)建立如圖1所示的 關(guān)系,如果需要刪除r4繼承r3的關(guān)系(r4,r3),那么將刪除r3繼承的關(guān)系(r3,rl),并且 刪除繼承自 r4 的繼承關(guān)系(r5,r4),(r6,r4),(r7,r4),(r7,r5),(r7,r6),以及刪除(r4, r3)本身;然后再根據(jù)事先生成的臨時(shí)表,按照上述的處理流程,重新構(gòu)建那些r3繼承的關(guān) 系,以及繼承自r4的所有關(guān)系。3)查詢查找一個(gè)角色的所有繼承角色。根據(jù)上面的存儲結(jié)構(gòu),查找直接或間接繼承角色也變得非常簡單select distinct tl.氺 from(select rfrom,rto from roleinherit whererfrom = imyrfrom) tli myrfrom = ' r4',上面的執(zhí)行結(jié)果如表三所示;表三 即r4繼承的角色包括rl,r2, r3, r4。另外,由于角色繼承的修改就是對繼承關(guān)系的增加和刪除,所以不存在獨(dú)立的修 改操作。三、檢查角色的循環(huán)繼承在角色繼承中,不允許存在循環(huán)繼承。檢查循環(huán)繼承的操作通常是通過編碼來實(shí) 現(xiàn)的,實(shí)現(xiàn)起來相對比較復(fù)雜。而使用本發(fā)明的方法則比較簡單。假如存在如圖1所示的繼承關(guān)系,如果加入r2繼承r5,則會存在循環(huán)繼承,具體檢 查步驟如下加入一個(gè)角色繼承關(guān)系,例如r2繼承r5 ;查找r5繼承的所有角色; 查找繼承r2的所有角色;將3. 3和3. 2的數(shù)據(jù)形成兩個(gè)相同的數(shù)據(jù)笛卡兒集合(3. 2中的rfr0m,3.3中的 rto),集合A和集合B ;將集合A中(rfrom,rto)和基本B中的(rto,rfrom)進(jìn)行比較,其中,Rto和rfrom 相同的數(shù)據(jù)不算在內(nèi),如果存在相同的數(shù)據(jù),則說明會形成循環(huán)依賴,否則就不存在循環(huán)依賴?;诒景l(fā)明的方法,Omyrfrom =,r2,,Omyrto =,r5,,上面的過程可以直接通 過一條 SQL i吾句來角軍決select t3. cl rfrom, t3. c2r to from(select distinct (tl. rto+t2. rfrom)cO, t2. rfrom cl, tl.rto c2 from(select rtofrom roleinherit where rfrom = imyrto)as tl, (select rfrom fromroIeinherit where rto = imyrfrom)as t2) as t3, (selectdistinct(tl. rto+t2. rfrom)cO,t2. rfrom cl,tl.rto c2 from(select rto fromroIeinherit where rfrom = imyrto)as tl, (select rfrom from roleinheritwhere rto = imyrfrom)as t2)as t4 where t3. cl+t3. c2 = t4. c2+t4. cl andt3. cl O t3. c2因此,執(zhí)行的結(jié)果如表四所示表四 從上面可以看出,如果加入r2繼承r5的話,將會存在三個(gè)循環(huán)依賴r2 — r4 ; r2 —— r5 ;r4 —— r5 ;假如SQL的執(zhí)行結(jié)果為空,則表明不存在循環(huán)依賴。綜上所述,通過本發(fā)明,能夠非常方便地處理繼承關(guān)系,包括非常復(fù)雜的多重繼承 關(guān)系。另外,很好地處理了繼承的增加、刪除、查詢,以及復(fù)雜的循環(huán)依賴檢查。由于查找一 個(gè)角色的所有繼承角色是一個(gè)SQL語句,所 以在繼承的處理上幾乎沒有任何性能損失。另外,在權(quán)限查詢時(shí),每個(gè)角色包括一組權(quán)限條目,而基于本專利,可以使用查找 所有角色的SQL直接關(guān)聯(lián)角色的權(quán)限條目表,直接得出需要的數(shù)據(jù)權(quán)限,這樣與其它常見 的處理角色繼承的方法相比,又能夠大大提升查詢權(quán)限的性能。因此,使用根據(jù)本發(fā)明的技術(shù)方案,能夠很好地解決權(quán)限的角色繼承問題,與傳統(tǒng) 處理方式相比,不僅使開發(fā)的復(fù)雜性大大降低,更重要的是在性能方面基本沒有額外的損 失,大大提升了權(quán)限的可用性。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技 術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修 改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種權(quán)限角色繼承方法,其利用數(shù)據(jù)庫的功能,通過結(jié)構(gòu)化查詢語言來處理角色繼承關(guān)系,其特征在于,包括以下步驟步驟S202,設(shè)計(jì)角色繼承的數(shù)據(jù)庫表,并將關(guān)于角色繼承的繼承信息保存在所述數(shù)據(jù)庫表中;步驟S204,利用所述數(shù)據(jù)庫表,根據(jù)對所述角色繼承的繼承關(guān)系的處理來處理所述數(shù)據(jù)庫表;以及步驟S206,根據(jù)所述數(shù)據(jù)庫表,排除所述角色繼承中的循環(huán)繼承關(guān)系。
2.根據(jù)權(quán)利要求1所述的權(quán)限角色繼承方法,其特征在于,所述數(shù)據(jù)庫表包含了繼承 角色與被繼承角色之間的雙向鏈表信息,并且其至少包括以下參數(shù)繼承角色; 被繼承角色;繼承標(biāo)識,關(guān)于一次繼承操作發(fā)生的唯一標(biāo)識;以及 是否繼承線,存在直接繼承關(guān)系的權(quán)限角色之間的連線。
3.根據(jù)權(quán)利要求2所述的權(quán)限角色繼承方法,其特征在于,對所述角色繼承的繼承關(guān) 系的處理至少包括增加處理、刪除處理、查詢處理以及修改處理。
4.根據(jù)權(quán)利要求3所述的權(quán)限角色繼承方法,其特征在于,在所述步驟S204中,當(dāng)對所 述角色繼承的繼承關(guān)系執(zhí)行所述增加處理時(shí),查找被繼承角色的所有繼承角色,查找繼承于所查找到的繼承角色的所有角色,并且將各角色之間的直接角色繼承信息以及引發(fā)的所有間接角色繼承信息,利用同一個(gè)唯 一標(biāo)識來批量插入所述數(shù)據(jù)庫表。
5.根據(jù)權(quán)利要求4所述的權(quán)限角色繼承方法,其特征在于,所述間接角色繼承信息包括繼承于所述增加處理的繼承角色的所有角色均作為繼承角色,以及 所述增加處理的繼承角色由于所述增加處理而帶來的所有新增的繼承角色作為被繼 承角色。
6.根據(jù)權(quán)利要求4所述的權(quán)限角色繼承方法,其特征在于,在所述步驟S204中,當(dāng)對所 述角色繼承的繼承關(guān)系執(zhí)行所述刪除處理時(shí),輸入需要刪除的繼承關(guān)系,以找到繼承角色和被繼承角色, 查找所述繼承角色的所有繼承關(guān)系,生成第一臨時(shí)表, 查找所述被繼承角色的所有繼承關(guān)系,生成第二臨時(shí)表,根據(jù)所述第一臨時(shí)表和第二臨時(shí)表的繼承標(biāo)識,刪除與所述繼承角色和所述被繼承角 色有關(guān)的所有繼承關(guān)系,根據(jù)所述第一臨時(shí)表,調(diào)用增加處理的功能,重新生成所述繼承角色的所有繼承關(guān)系,并且根據(jù)所述第二臨時(shí)表,調(diào)用增加處理的功能,重新生成所述被繼承角色的所有繼承關(guān)系。
7.根據(jù)權(quán)利要求3所述的權(quán)限角色繼承方法,其特征在于,在所述步驟S204中,當(dāng)對所 述角色繼承的繼承關(guān)系執(zhí)行所述查詢處理時(shí),根據(jù)所述數(shù)據(jù)庫表,查找繼承角色的所有被繼承角色。
8.根據(jù)權(quán)利要求3所述的權(quán)限角色繼承方法,其特征在于,所述修改處理為所述增加 處理和刪除處理的組合。
9.根據(jù)權(quán)利要求2所述的權(quán)限角色繼承方法,其特征在于,在所述步驟S206中,包括 加入一個(gè)關(guān)于被繼承角色和繼承角色的繼承關(guān)系;查找所述被繼承角色繼承的第一所有角色; 查找繼承于所述繼承角色的第二所有角色;將所述第一所有角色和所述第二所有角色的數(shù)據(jù)形成相同的第一和第二數(shù)據(jù)笛卡爾 集合;以及將所述第一數(shù)據(jù)笛卡爾集合中的繼承關(guān)系與所述第二數(shù)據(jù)笛卡爾集合中的繼承關(guān)系 進(jìn)行比較,以確定是否存在循環(huán)繼承關(guān)系。
全文摘要
本發(fā)明公開了一種權(quán)限角色繼承方法,其包括以下步驟步驟S202,設(shè)計(jì)角色繼承的數(shù)據(jù)庫表,并將關(guān)于角色繼承的繼承信息保存在數(shù)據(jù)庫表中;步驟S204,利用數(shù)據(jù)庫表,根據(jù)對角色繼承的繼承關(guān)系的處理來處理數(shù)據(jù)庫表;以及步驟S206,根據(jù)數(shù)據(jù)庫表,排除角色繼承中的循環(huán)繼承關(guān)系。通過本發(fā)明,能夠很好地解決權(quán)限的角色繼承問題,與傳統(tǒng)處理方式相比,不僅使開發(fā)的復(fù)雜性大大降低,更重要的是在性能方面基本沒有額外的損失,大大提升了權(quán)限的可用性。
文檔編號G06F17/30GK101872397SQ20101019985
公開日2010年10月27日 申請日期2010年6月8日 優(yōu)先權(quán)日2010年6月8日
發(fā)明者史周軍 申請人:用友軟件股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
双流县| 民乐县| 巴马| 株洲县| 通辽市| 扎赉特旗| 益阳市| 泊头市| 资兴市| 桐城市| 泸州市| 丰顺县| 阳西县| 克什克腾旗| 隆安县| 布拖县| 屏边| 马尔康县| 资阳市| 满洲里市| 双峰县| 宝山区| 黄龙县| 吉安市| 安国市| 德阳市| 晋中市| 夹江县| 宁河县| 朝阳县| 收藏| 尉犁县| 延寿县| 长海县| 高平市| 刚察县| 滦平县| 盐山县| 崇礼县| 湟源县| 融水|