




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、java用戶角色權(quán)限設(shè)計(jì)實(shí)現(xiàn)業(yè)務(wù)系統(tǒng)中的用戶權(quán)限管理B/SB/S 系統(tǒng)中的權(quán)限比 C/SC/S 中的更顯的重要,C/SC/S 系統(tǒng)因?yàn)榫哂刑厥獾目蛻舳耍?所以訪問用戶的權(quán)限檢測(cè)可以通過客戶端實(shí)現(xiàn)或通過客戶端+服務(wù)器檢測(cè)實(shí) 現(xiàn),而 B/SB/S 中,瀏覽器是每一臺(tái)計(jì)算機(jī)都已具備的,如果不建立一個(gè)完整的權(quán)限檢測(cè), 那么一個(gè)“非法用戶”很可能就能通過瀏覽器輕易訪問到B/SB/S 系統(tǒng)中的所有功能。因此 B/SB/S 業(yè)務(wù)系統(tǒng)都需要有一個(gè)或多個(gè)權(quán)限系統(tǒng)來實(shí)現(xiàn)訪問權(quán)限檢測(cè),讓經(jīng)過授權(quán)的用戶可以正常合法的使用已授權(quán)功能,而對(duì)那些未經(jīng)授權(quán)的“非法用 戶”將會(huì)將他們徹底的“拒之門外”。下面就讓我們一起了解一下
2、如何設(shè)計(jì)可以 滿足大部分 B/SB/S 系統(tǒng)中對(duì)用戶功能權(quán)限控制的權(quán)限系統(tǒng)。需求陳述,不同職責(zé)的人員,對(duì)丁系統(tǒng)操作的權(quán)限應(yīng)該是不同的。優(yōu)秀的業(yè)務(wù)系統(tǒng),這是最基本的功能??梢詫?duì)“組”進(jìn)行權(quán)限分配。對(duì)丁一個(gè)大企業(yè)的業(yè)務(wù)系統(tǒng)來說,如果要求 管理員為其下員工逐一分配系統(tǒng)操作權(quán)限的話,是件耗時(shí)且不夠方便的事 情。所以,系統(tǒng)中就提出了對(duì)“組”進(jìn)行操作的概念,將權(quán)限一致的人員編入同一組,然后對(duì)該組進(jìn)行權(quán)限分配。權(quán)限管理系統(tǒng)應(yīng)該是可擴(kuò)展的。它應(yīng)該可以加入到任何帶有權(quán)限管理功能 的系統(tǒng)中。就像是組件一樣的可以被不斷的重用,而不是每開發(fā)一套管理 系統(tǒng),就要針對(duì)權(quán)限管理部分進(jìn)行重新開發(fā)。滿足業(yè)務(wù)系統(tǒng)中的功能權(quán)限。傳
3、統(tǒng)業(yè)務(wù)系統(tǒng)中,存在著兩種權(quán)限管理,其 一是功能權(quán)限的管理,而另外一種則是資源權(quán)限的管理,在不同系統(tǒng)之間, 功能權(quán)限是可以重用的,而資源權(quán)限則不能。關(guān)丁設(shè)計(jì)借助 NoahWeNoahWe 的動(dòng)作編程理念,在設(shè)計(jì)階段,系統(tǒng)設(shè)計(jì)人員無(wú)須考慮程序結(jié) 構(gòu)的設(shè)計(jì),而是從程序流程以及數(shù)據(jù)庫(kù)結(jié)構(gòu)開始入手。 為了實(shí)現(xiàn)需求,數(shù)據(jù)庫(kù)的 設(shè)計(jì)可謂及其重要,無(wú)論是“組”操作的概念,還是整套權(quán)限管理系統(tǒng)的重用性, 都在丁數(shù)據(jù)庫(kù)的設(shè)計(jì)。我們先來分析一下數(shù)據(jù)庫(kù)結(jié)構(gòu):首先,actionaction 表(以下簡(jiǎn)稱為“權(quán)限表),),gorupmanagergorupmanager 表(以下簡(jiǎn)稱為“管理組表”),以及 masterm
4、aster 表(以下簡(jiǎn)稱為“人員表”),是三張實(shí)體表, 它們依次記錄著“權(quán)限”的信息,“管理組”的信息和“人員”的信息。如下圖:這三個(gè)表之間的關(guān)系是多對(duì)多的,一個(gè)權(quán)限可能同時(shí)屆丁多個(gè)管理組,一個(gè) 管理組中也可能同時(shí)包含多個(gè)權(quán)限。 同樣的道理,一個(gè)人員可能同時(shí)屆丁多個(gè)管 理組,而一個(gè)管理組中也可能同時(shí)包含多個(gè)人員。如下圖:NNE L而jJSiH毒erNNAAft表添加超吸管理員赧三管理員季四一般用戶王五超璽管理員i董理員由丁這三張表之間存在著多對(duì)多的關(guān)系,那么它們之間的交互,最好使用另 外兩張表來完成。而這兩張表起著映射的作用,分別是“ actiongroupactiongroup ”表(以 下
5、簡(jiǎn)稱“權(quán)限映射表”) 和“mastergroupmastergroup ”表(以下簡(jiǎn)稱“人員映射表”), 前者映射了權(quán)限表與管理組表之間的交互。后者映射了人員表與管理組表之間的 交互。如下圖:另外,還需要一張表來控制系統(tǒng)運(yùn)行時(shí)左側(cè)菜單中的權(quán)限分欄,也就是“權(quán) 限分欄表”,如下圖:祥三-起甑管理員 建三-管理員 季四-超爆管理員 享四-管理員 王五-一雄用戶根據(jù)上面的分析,我們進(jìn)行數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì),如下圖:添加翻圾管理員阿除-利或管理員 添加-管理員 刪除-管理員 *社-.可用尸管理員一袒用戶er概三-超ta管理員強(qiáng)三-管理員 萃四-超纏管理員 章四-管理員 王五樓用戶MaAj用表三四五就李王“權(quán)
6、限戮射囊、使和管理組哉”之間得到了玄互“人員映射乖”使“人員來 和音理堀表”之間得到了 交互.三四五張李王潘n卜葩吸管理員阿除-超玻管理員 添帕管理員 刪除-管理貴 先新.可用尸點(diǎn)擊這里查看權(quán)限管理系統(tǒng)數(shù)據(jù)表字段設(shè)計(jì)為了能夠進(jìn)行良好的分析,我們將數(shù)據(jù)庫(kù)結(jié)構(gòu)圖拆分開來,三張實(shí)體表的作 用已經(jīng)很活晰,現(xiàn)在我們來看一下兩張映射表的作用。權(quán)限映射表如下圖:首先,我們來了解一下 權(quán)限映射表與管理組表以及權(quán)限表之間的字段關(guān)聯(lián)看圖中的紅圈,先看 gorupidgorupid 字段相關(guān)聯(lián),這種關(guān)聯(lián)方式在實(shí)際數(shù)據(jù)庫(kù)中的 表現(xiàn)如下圖: 3l STL削哭tasSMrord LJat etmesiaiwesaxfci
7、rtlidiy J-eptposi tii fasitiori_d*scimobil曰1:25頊卜皿&email mast er idHIas ter namecreatedatactionutioiddacti oiicplumin:Vnet ionmA5tern; yrieere atedategrog d m&stri dacti oannameft.cx i one?QLUBJIAgroupnMegroupinfmaEtri d master name ereatslateUILoncolnmi d act ixical-wniwamgroupManag er筒表0Ti
8、g F 0中的數(shù)據(jù):食置是sqln:血表roupamger中的裁IEidactionf/rcroupiJll groupnmne|1up1超煎管理員2adAnewgrciup2朝員3gx cup _ew:13一殷用戶4se t gr onp i nf o11Sset groupJ6stprou.pirif&_e!7n如圖中所示, 管理組表中“超級(jí)管理員”的 groupidgroupid 為 1,1,那么權(quán)限映射表 中 groupigroupid d為 1 1 的權(quán)限也就是“超級(jí)管理員”所擁有的權(quán)限。使用 groupidgroupid 字段關(guān)聯(lián),是為了查到一個(gè)管理組能夠執(zhí)行的權(quán)限有哪些。
9、但 這些權(quán)限的詳細(xì)信息卻是 actionaction 字段關(guān)聯(lián)所查詢到的。actionaction 字段相關(guān)聯(lián)在數(shù)據(jù)庫(kù)中的表現(xiàn)如下圖:國(guó))表i竺中的4% 表*ctione中的敷據(jù)actianidac t ioiuiame.cti an 1rr一| u tiMiJi1權(quán)限初始化安裝序社upjte tup、:2添加首理蠲2eiduJnew group:3添如首哩追找行(3gr oup_ esc :4設(shè)置管理旅極限etgroupif4E6 t6HipL.rkf d:5設(shè)置管理蠲權(quán)限箝setgroup infC5E6tgroiaFinf o_ire :&設(shè)置管理制權(quán)限擔(dān)etgx*upinfo_
10、?Kc&7刪降首型鍛c7地Lgr4)_C!Ji通過這種關(guān)聯(lián),才查詢到 權(quán)限映射表之中那些權(quán)限的詳細(xì)信息。綜合起來, 我們就知道了一個(gè)管理組可以執(zhí)行的權(quán)限有哪些,以及這些權(quán)限的詳細(xì)信息是什 么?;蛟S你會(huì)問,為什么不使用 actionidactionid 字段相關(guān)聯(lián)呢?因?yàn)椋簷?quán)限表中的 idid 字段在經(jīng)過多次的數(shù)據(jù)庫(kù)操作之后可能會(huì)發(fā)生更改。權(quán)限映射表中僅僅記錄著一個(gè)管理組可以執(zhí)行的權(quán)限。一旦權(quán)限表中的 idid 更改,那么權(quán)限映射表 中的記錄也就更改了。一個(gè)管理組可以執(zhí)行的權(quán)限勢(shì)必將出錯(cuò),這是非常不希望的??紤]到上面的情況,所以應(yīng)該使用 actionaction 字段相關(guān)聯(lián),因?yàn)椋涸跈?quán)限
11、表中,idid 可能發(fā)生變化,而 actionaction 字段卻是在任何情況下也不可 能發(fā)生變化的。*權(quán)限映射表中記錄的 actionaction 字段也就不會(huì)變。一個(gè)管理組可以執(zhí)行的權(quán)限就不會(huì)出錯(cuò)了。二人員映射表如下圖:我們來了解一下人員映射表與管理組表以及人員表之間的字段關(guān)聯(lián),如下圖:cfficfe jhorkfimobile:hjii_ph6H皂em 11 ira-sier i derafed&i看圖中的紅圈部分,先看 groupidgroupid 字段關(guān)聯(lián),這種關(guān)聯(lián)方式在數(shù)據(jù)庫(kù)中的表 現(xiàn)如下圖:如圖,“超級(jí)管理員”組的 groupidgroupid 為 1,1,我們?cè)倏慈藛T映
12、射表,adminadmin 屆 丁超級(jí)管理員組,而 administratoradministrator 屆丁超級(jí)管理員組,同時(shí)也屆丁管理員組。使用這種關(guān)聯(lián)方式,是為了查到一個(gè)管理組中的人員有誰(shuí)。和上面一樣,人 員的詳細(xì)信息是靠 idid 字段(人員映射表中是 masteridmasterid 字段)關(guān)聯(lián)查詢到的。idid 字段(人員映射表中是 masteridmasterid 字段)關(guān)聯(lián)表現(xiàn)在數(shù)據(jù)庫(kù)中的形式如下 圖:pis sword bitt 9tr uenam 果里birthday deptpesitiMIgH圈醐組表er.叢品眇就蠢人屬createaate超狙管理景曾理員一般用戶adm
13、inadmi ni str at oradminitr at orziajrie4kdbhiXL-dir.ini str iteradmiTiistrator 一個(gè)人員可能同時(shí)屆丁多個(gè)“管理組”, 如圖中,administratoradministrator 就同時(shí)屆 丁兩個(gè)“管理組”。所以,在人員映射表中關(guān)丁 administratoradministrator 的記錄就會(huì)是兩 條。這種關(guān)聯(lián)方式才查詢到管理組中人員的詳細(xì)信息有哪些。綜合起來,才可以 知道一個(gè)管理組中的人員有誰(shuí),以及這個(gè)人員的詳細(xì)信息。再結(jié)合上面談到的權(quán)限表和權(quán)限映射表,就實(shí)現(xiàn)了需求中的“組”操作,如 下圖:其實(shí),管理組表中僅
14、僅記錄著組的基本信息,如名稱,組 idid 等等。至丁一 個(gè)組中人員的詳細(xì)信息,以及該組能夠執(zhí)行的權(quán)限的詳細(xì)信息, 都記錄在人員表 和權(quán)限表中。兩張映射表才真正記錄著一個(gè)組有哪些人員,能夠執(zhí)行哪些權(quán)限。 通過兩張映射表的銜接,三張實(shí)體表之間的交互才得以實(shí)現(xiàn),從而完成了需求中 提到的“組”操作。我們?cè)賮砜匆幌聶?quán)限分欄表與權(quán)限表之間的交互。這兩張表之間的字段關(guān)聯(lián) 如下圖:笛JTOIJS中的數(shù)據(jù)項(xiàng)表中的敏據(jù),位育mas ter-1najme也如in晃蠢id _Otasterij/.jn am色nidacti oiuiiintset io lunmid但匚七it onclumaid唱七i omugl皿
15、口的|上1椰翩始化豉I1n2j高綴管理枳限2添加管理蛆1管理權(quán)限J添加管理蛆執(zhí)行1新國(guó)首理設(shè)置管理蛆枳跟14個(gè)人設(shè)置5沒置管魁枳跟!ii卜&設(shè)置管理組枳跟:iT刪除管理組i3查看管理員分羯i日查看管理編成員L10設(shè)置管理員根眼111設(shè)置苜理員枚胃康il12設(shè)置管理員枳跟;113忝加首理員EH添加管理員執(zhí)行215更改管理員密咽2ia更改管理員密碼環(huán)ja17更改管理員密碼1.2is更改管理員信息19更改管理員信息!iieZO更改首理員信息iINZ1朋除指定育理員1J如圖所示,通過這種關(guān)聯(lián)方式,我們可以非?;钗目吹?權(quán)限表中的權(quán)限屆 丁哪個(gè)分欄?,F(xiàn)在,數(shù)據(jù)庫(kù)結(jié)構(gòu)已經(jīng)很活晰了,分配權(quán)限的功能
16、以及“組”操作都已經(jīng)實(shí) 現(xiàn)。下面我們?cè)賮矸治鲆幌滦枨笾刑岬降年P(guān)丁權(quán)限管理系統(tǒng)的重用性問題。為什么使用這種數(shù)據(jù)庫(kù)設(shè)計(jì)方式搭建起來的系統(tǒng)可以重用呢?三張實(shí)體表中記錄著系統(tǒng)中的三個(gè)決定性元素?!皺?quán)限”,“組”和“人”。而這三種元素可以任意添加,彼此之間不受影響。無(wú)論是那種類 型的業(yè)務(wù)系統(tǒng),這三個(gè)決定性元素是不會(huì)變的,也就意味著結(jié)構(gòu)上不會(huì)變, 而變的僅僅是數(shù)據(jù)。兩張映射表中記錄著三個(gè)元素之間的關(guān)系。但這些關(guān)系完全是人為創(chuàng)建的, 需要變化的時(shí)候,只是對(duì)數(shù)據(jù)庫(kù)中的記錄進(jìn)行操作,無(wú)需改動(dòng)結(jié)構(gòu)。權(quán)限分欄表中記錄著系統(tǒng)使用時(shí)顯示的分欄 欄還是減少分欄,也只不過是操作記錄而已綜上所述,這樣設(shè)計(jì)數(shù)據(jù)庫(kù),系統(tǒng)是完全可
17、以重用的,并且經(jīng)受得住“變更” 考驗(yàn)的??偨Y(jié):此套系統(tǒng)的重點(diǎn)在丁,三張 實(shí)體表牢牢地抓住了系統(tǒng)的核心成分,而兩張映 射表完美地映射出三張實(shí)體表之間的交互。 其難點(diǎn)在丁,理解映射表的工作,它 記錄著關(guān)系,并且實(shí)現(xiàn)了 “組”操作的概念。而系統(tǒng)總體的設(shè)計(jì)是本著可以在不 同的 MISMIS 系統(tǒng)中“重用”來滿足不同系統(tǒng)的功能權(quán)限設(shè)置。附錄:權(quán)限管理系統(tǒng)數(shù)據(jù)表的字段設(shè)計(jì)卜面我們來看看權(quán)限管理系統(tǒng)的數(shù)據(jù)庫(kù)表設(shè)計(jì),共分為六張表,如下圖: actionaction 表:actioncolumnactioncolumn 表:actioncolumnactioncolumn 表中記錄著動(dòng)作的分欄,系統(tǒng)運(yùn)行時(shí),左側(cè)
18、菜單欄提供了幾塊 不同的功能,每一塊就是一個(gè)分欄,每添加一個(gè)分欄,該表中的記錄就會(huì)增加一 條,相對(duì)應(yīng)的,左側(cè)菜單欄中也會(huì)新增機(jī)一個(gè)欄。actiongroupactiongroup 表:字段名稱數(shù)據(jù)類型說明act i oni d自動(dòng)爆號(hào)自增長(zhǎng)詛act i wumi睛動(dòng)作名稱ftctiid數(shù)字動(dòng)作分欄號(hào)(映射到)action文本禎作宇簡(jiǎn)宙vi作煩知文本是否可見4 IS ad ion :表actionaction 表中記錄著系統(tǒng)中所有的動(dòng)作,以及動(dòng)作相關(guān)描述。無(wú)論是要添加分欄,修改分2 act iongroup :表W 叵字段名稱1一據(jù)類型說明Aidgjgfeid匡ti QZl動(dòng)作名禰【映射到utmn表)roiipid動(dòng)作所屈組i4K映射到n砧加曠croup表)gwteri. -1g創(chuàng)建者討創(chuàng)建者名稱日期/時(shí)間創(chuàng)建眄間actiongroupactiongroup 表記錄著動(dòng)作所在的組。groupmanagergroupmanager 表:flroupwansger:表回字段名稱數(shù)據(jù)類型說明group id目塔長(zhǎng)idgroupmame管理小名稱gxwpinfQ首理沮信
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 華西醫(yī)院護(hù)理面試能力評(píng)估體系
- 酒店股東避稅協(xié)議書
- 朗誦的技巧培訓(xùn)
- 許昌婚前財(cái)產(chǎn)協(xié)議書
- 健身房轉(zhuǎn)讓合同協(xié)議書
- 車間大棚租賃協(xié)議書
- 餐廳卡座轉(zhuǎn)讓協(xié)議書
- 銷售維護(hù)價(jià)格協(xié)議書
- 轎車私人轉(zhuǎn)讓協(xié)議書
- 飯店轉(zhuǎn)讓商鋪協(xié)議書
- 論文答辯武漢大學(xué)論文答辯開題報(bào)告PPT模板
- 推進(jìn)白洋淀景區(qū)運(yùn)營(yíng)機(jī)制改革實(shí)施方案
- 2021年卒中中心建設(shè)相關(guān)制度及流程匯編
- 初中生休學(xué)申請(qǐng)書
- 機(jī)械故障診斷大作業(yè)滾動(dòng)軸承
- 密封件定位套機(jī)械加工工藝過程卡片
- 業(yè)主委員會(huì)成立全套表格(20210128041538)
- 中國(guó)石油大學(xué)華東本科畢業(yè)設(shè)計(jì)論文參考模板
- 產(chǎn)品銷售合同模板
- 中國(guó)漢字演變-課件
- 消防設(shè)施維護(hù)保養(yǎng)記錄表(共6頁(yè))
評(píng)論
0/150
提交評(píng)論