国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - java中的通用權(quán)限管理設(shè)計(jì)(推薦)

java中的通用權(quán)限管理設(shè)計(jì)(推薦)

2021-03-07 12:16暗夜精靈nightelf Java教程

下面小編就為大家推薦一篇java中的通用權(quán)限管理設(shè)計(jì),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

實(shí)現(xiàn)業(yè)務(wù)系統(tǒng)中的用戶權(quán)限管理

b/s系統(tǒng)中的權(quán)限比c/s中的更顯的重要,c/s系統(tǒng)因?yàn)榫哂刑厥獾目蛻舳耍栽L問(wèn)用戶的權(quán)限檢測(cè)可以通過(guò)客戶端實(shí)現(xiàn)或通過(guò)客戶端+服務(wù)器檢測(cè)實(shí)現(xiàn),而b/s中,瀏覽器是每一臺(tái)計(jì)算機(jī)都已具備的,如果不建立一個(gè)完整的權(quán)限檢測(cè),那么一個(gè)“非法用戶”很可能就能通過(guò)瀏覽器輕易訪問(wèn)到b/s系統(tǒng)中的所有功能。因此b/s業(yè)務(wù)系統(tǒng)都需要有一個(gè)或多個(gè)權(quán)限系統(tǒng)來(lái)實(shí)現(xiàn)訪問(wèn)權(quán)限檢測(cè),讓經(jīng)過(guò)授權(quán)的用戶可以正常合法的使用已授權(quán)功能,而對(duì)那些未經(jīng)授權(quán)的“非法用戶”將會(huì)將他們徹底的“拒之門(mén)外”。下面就讓我們一起了解一下如何設(shè)計(jì)可以滿足大部分b/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)來(lái)說(shuō),如果要求管理員為其下員工逐一分配系統(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)中。就像是組件一樣的可以被不斷的重用,而不是每開(kāi)發(fā)一套管理系統(tǒng),就要針對(duì)權(quán)限管理部分進(jìn)行重新開(kāi)發(fā)。

• 滿足業(yè)務(wù)系統(tǒng)中的功能權(quán)限。傳統(tǒng)業(yè)務(wù)系統(tǒng)中,存在著兩種權(quán)限管理,其一是功能權(quán)限的管理,而另外一種則是資源權(quán)限的管理,在不同系統(tǒng)之間,功能權(quán)限是可以重用的,而資源權(quán)限則不能。

關(guān)于設(shè)計(jì)

借助noahweb的動(dòng)作編程理念,在設(shè)計(jì)階段,系統(tǒng)設(shè)計(jì)人員無(wú)須考慮程序結(jié)構(gòu)的設(shè)計(jì),而是從程序流程以及數(shù)據(jù)庫(kù)結(jié)構(gòu)開(kāi)始入手。為了實(shí)現(xiàn)需求,數(shù)據(jù)庫(kù)的設(shè)計(jì)可謂及其重要,無(wú)論是“組”操作的概念,還是整套權(quán)限管理系統(tǒng)的重用性,都在于數(shù)據(jù)庫(kù)的設(shè)計(jì)。

我們先來(lái)分析一下數(shù)據(jù)庫(kù)結(jié)構(gòu):

首先,action表(以下簡(jiǎn)稱(chēng)為“權(quán)限表”),gorupmanager表(以下簡(jiǎn)稱(chēng)為“管理組表”),以及master表(以下簡(jiǎn)稱(chēng)為“人員表”),是三張實(shí)體表,它們依次記錄著“權(quán)限”的信息,“管理組”的信息和“人員”的信息。如下圖:

java中的通用權(quán)限管理設(shè)計(jì)(推薦)

這三個(gè)表之間的關(guān)系是多對(duì)多的,一個(gè)權(quán)限可能同時(shí)屬于多個(gè)管理組,一個(gè)管理組中也可能同時(shí)包含多個(gè)權(quán)限。同樣的道理,一個(gè)人員可能同時(shí)屬于多個(gè)管理組,而一個(gè)管理組中也可能同時(shí)包含多個(gè)人員。如下圖:

java中的通用權(quán)限管理設(shè)計(jì)(推薦)

由于這三張表之間存在著多對(duì)多的關(guān)系,那么它們之間的交互,最好使用另外兩張表來(lái)完成。而這兩張表起著映射的作用,分別是“actiongroup”表(以下簡(jiǎn)稱(chēng)“權(quán)限映射表”)和“mastergroup”表(以下簡(jiǎn)稱(chēng)“人員映射表”),前者映射了權(quán)限表與管理組表之間的交互。后者映射了人員表與管理組表之間的交互。如下圖:

java中的通用權(quán)限管理設(shè)計(jì)(推薦)

另外,還需要一張表來(lái)控制系統(tǒng)運(yùn)行時(shí)左側(cè)菜單中的權(quán)限分欄,也就是“權(quán)限分欄表”,如下圖:

java中的通用權(quán)限管理設(shè)計(jì)(推薦)

根據(jù)上面的分析,我們進(jìn)行數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì),如下圖:

點(diǎn)擊這里查看權(quán)限管理系統(tǒng)數(shù)據(jù)表字段設(shè)計(jì)

java中的通用權(quán)限管理設(shè)計(jì)(推薦)

為了能夠進(jìn)行良好的分析,我們將數(shù)據(jù)庫(kù)結(jié)構(gòu)圖拆分開(kāi)來(lái),三張實(shí)體表的作用已經(jīng)很清晰,現(xiàn)在我們來(lái)看一下兩張映射表的作用。

一 權(quán)限映射表 如下圖:

首先,我們來(lái)了解一下權(quán)限映射表管理組表以及權(quán)限表之間的字段關(guān)聯(lián)。

java中的通用權(quán)限管理設(shè)計(jì)(推薦)

看圖中的紅圈,先看gorupid字段相關(guān)聯(lián),這種關(guān)聯(lián)方式在實(shí)際數(shù)據(jù)庫(kù)中的表現(xiàn)如下圖:

java中的通用權(quán)限管理設(shè)計(jì)(推薦)

如圖中所示,管理組表中“超級(jí)管理員”的groupid為1,那么權(quán)限映射表中g(shù)roupid為1的權(quán)限也就是“超級(jí)管理員”所擁有的權(quán)限。

使用groupid字段關(guān)聯(lián),是為了查到一個(gè)管理組能夠執(zhí)行的權(quán)限有哪些。但這些權(quán)限的詳細(xì)信息卻是action字段關(guān)聯(lián)所查詢到的。

action字段相關(guān)聯(lián)在數(shù)據(jù)庫(kù)中的表現(xiàn)如下圖:

java中的通用權(quán)限管理設(shè)計(jì)(推薦)

通過(guò)這種關(guān)聯(lián),才查詢到權(quán)限映射表之中那些權(quán)限的詳細(xì)信息。綜合起來(lái),我們就知道了一個(gè)管理組可以執(zhí)行的權(quán)限有哪些,以及這些權(quán)限的詳細(xì)信息是什么。

或許你會(huì)問(wèn),為什么不使用actionid字段相關(guān)聯(lián)呢?因?yàn)椋?/p>

• 權(quán)限表中的id字段在經(jīng)過(guò)多次的數(shù)據(jù)庫(kù)操作之后可能會(huì)發(fā)生更改。

• 權(quán)限映射表中僅僅記錄著一個(gè)管理組可以執(zhí)行的權(quán)限。

• 一旦權(quán)限表中的id更改,那么權(quán)限映射表中的記錄也就更改了。

• 一個(gè)管理組可以執(zhí)行的權(quán)限勢(shì)必將出錯(cuò),這是非常不希望的。

考慮到上面的情況,所以應(yīng)該使用action字段相關(guān)聯(lián),因?yàn)椋?/p>

• 在權(quán)限表中,id可能發(fā)生變化,而action字段卻是在任何情況下也不可能發(fā)生變化的。

• 權(quán)限映射表中記錄的action字段也就不會(huì)變。

• 一個(gè)管理組可以執(zhí)行的權(quán)限就不會(huì)出錯(cuò)了。

二 人員映射表 如下圖:

我們來(lái)了解一下人員映射表管理組表以及人員表之間的字段關(guān)聯(lián),如下圖:

java中的通用權(quán)限管理設(shè)計(jì)(推薦)

看圖中的紅圈部分,先看groupid字段關(guān)聯(lián),這種關(guān)聯(lián)方式在數(shù)據(jù)庫(kù)中的表現(xiàn)如下圖:

java中的通用權(quán)限管理設(shè)計(jì)(推薦)

如圖,“超級(jí)管理員”組的groupid為1,我們?cè)倏?strong>人員映射表,admin屬于超級(jí)管理員組,而administrator屬于超級(jí)管理員組,同時(shí)也屬于管理員組。

使用這種關(guān)聯(lián)方式,是為了查到一個(gè)管理組中的人員有誰(shuí)。和上面一樣,人員的詳細(xì)信息是靠id字段(人員映射表中是masterid字段)關(guān)聯(lián)查詢到的。

id字段(人員映射表中是masterid字段)關(guān)聯(lián)表現(xiàn)在數(shù)據(jù)庫(kù)中的形式如下圖:

java中的通用權(quán)限管理設(shè)計(jì)(推薦)

一個(gè)人員可能同時(shí)屬于多個(gè)“管理組”,如圖中,administrator就同時(shí)屬于兩個(gè)“管理組”。所以,在人員映射表中關(guān)于administrator的記錄就會(huì)是兩條。

這種關(guān)聯(lián)方式才查詢到管理組中人員的詳細(xì)信息有哪些。綜合起來(lái),才可以知道一個(gè)管理組中的人員有誰(shuí),以及這個(gè)人員的詳細(xì)信息。

再結(jié)合上面談到的權(quán)限表權(quán)限映射表,就實(shí)現(xiàn)了需求中的“組”操作,如下圖:

java中的通用權(quán)限管理設(shè)計(jì)(推薦)

其實(shí),管理組表中僅僅記錄著組的基本信息,如名稱(chēng),組id等等。至于一個(gè)組中人員的詳細(xì)信息,以及該組能夠執(zhí)行的權(quán)限的詳細(xì)信息,都記錄在人員表權(quán)限表中。兩張映射表才真正記錄著一個(gè)組有哪些人員,能夠執(zhí)行哪些權(quán)限。通過(guò)兩張映射表的銜接,三張實(shí)體表之間的交互才得以實(shí)現(xiàn),從而完成了需求中提到的“組”操作

我們?cè)賮?lái)看一下權(quán)限分欄表權(quán)限表之間的交互。這兩張表之間的字段關(guān)聯(lián)如下圖:

java中的通用權(quán)限管理設(shè)計(jì)(推薦)

兩張表使用了actioncolumnid字段相關(guān)聯(lián),這種關(guān)聯(lián)方式在數(shù)據(jù)庫(kù)中的表現(xiàn)如下圖:

java中的通用權(quán)限管理設(shè)計(jì)(推薦)

如圖所示,通過(guò)這種關(guān)聯(lián)方式,我們可以非常清晰的看到權(quán)限表中的權(quán)限屬于哪個(gè)分欄。

現(xiàn)在,數(shù)據(jù)庫(kù)結(jié)構(gòu)已經(jīng)很清晰了,分配權(quán)限的功能以及“組”操作都已經(jīng)實(shí)現(xiàn)。下面我們?cè)賮?lái)分析一下需求中提到的關(guān)于權(quán)限管理系統(tǒng)的重用性問(wèn)題。

為什么使用這種數(shù)據(jù)庫(kù)設(shè)計(jì)方式搭建起來(lái)的系統(tǒng)可以重用呢?

三張實(shí)體表中記錄著系統(tǒng)中的三個(gè)決定性元素。“權(quán)限”,“組”和“人”。而這三種元素可以任意添加,彼此之間不受影響。無(wú)論是那種類(lèi)型的業(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í)顯示的分欄。無(wú)論是要添加分欄,修改分欄還是減少分欄,也只不過(guò)是操作記錄而已。

綜上所述,這樣設(shè)計(jì)數(shù)據(jù)庫(kù),系統(tǒng)是完全可以重用的,并且經(jīng)受得住“變更”考驗(yàn)的。

總結(jié):

此套系統(tǒng)的重點(diǎn)在于,三張實(shí)體表牢牢地抓住了系統(tǒng)的核心成分,而兩張映射表完美地映射出三張實(shí)體表之間的交互。其難點(diǎn)在于,理解映射表的工作,它記錄著關(guān)系,并且實(shí)現(xiàn)了“組”操作的概念。而系統(tǒng)總體的設(shè)計(jì)是本著可以在不同的mis系統(tǒng)中“重用”來(lái)滿足不同系統(tǒng)的功能權(quán)限設(shè)置。

附錄:

權(quán)限管理系統(tǒng)數(shù)據(jù)表的字段設(shè)計(jì)

下面我們來(lái)看看權(quán)限管理系統(tǒng)的數(shù)據(jù)庫(kù)表設(shè)計(jì),共分為六張表,如下圖:

action表:

java中的通用權(quán)限管理設(shè)計(jì)(推薦)

action表中記錄著系統(tǒng)中所有的動(dòng)作,以及動(dòng)作相關(guān)描述。

actioncolumn表:

java中的通用權(quán)限管理設(shè)計(jì)(推薦)

actioncolumn表中記錄著動(dòng)作的分欄,系統(tǒng)運(yùn)行時(shí),左側(cè)菜單欄提供了幾塊不同的功能,每一塊就是一個(gè)分欄,每添加一個(gè)分欄,該表中的記錄就會(huì)增加一條,相對(duì)應(yīng)的,左側(cè)菜單欄中也會(huì)新增機(jī)一個(gè)欄。

actiongroup表:

java中的通用權(quán)限管理設(shè)計(jì)(推薦)

actiongroup表記錄著動(dòng)作所在的組。

groupmanager表:

java中的通用權(quán)限管理設(shè)計(jì)(推薦)

groupmanager表記錄著管理組的相關(guān)信息,每添加一個(gè)管理組,這里的記錄就會(huì)增加一條。

mastergroup表:

java中的通用權(quán)限管理設(shè)計(jì)(推薦)

mastergroup表記錄著管理員所在的管理組,由于一名管理員可能同同時(shí)屬于多個(gè)組,所以該表中關(guān)于某一名管理員的記錄可能有多條。

master表:

java中的通用權(quán)限管理設(shè)計(jì)(推薦)

master表記錄著所有管理員的信息,每添加一個(gè)管理員,該表就會(huì)增加一條記錄。

以上這篇java中的通用權(quán)限管理設(shè)計(jì)(推薦)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。

原文鏈接:http://www.cnblogs.com/a7345678/archive/2008/09/25/1298838.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 欧洲一区二区三区精品 | 91在线高清| 成人免费毛片高清视频 | 四虎影视4hu4虎成人 | 亚洲激情中文字幕 | 国产一区二区免费 | 91中文字幕在线 | 国产成人免费高清激情视频 | 视频一区二区在线观看 | 午夜精品久久久久久久久久久久 | 日本久久久久久 | 成人免费观看在线视频 | 欧美日韩三区 | 日韩国产精品一区二区三区 | 国产精品久久亚洲 | 一级片观看 | 91精品国产综合久久久久久丝袜 | 亚洲一区视频 | 亚洲怡红院在线观看 | 日韩中文字幕视频在线 | 精品国产乱码久久久久久闺蜜 | 欧美一区2区三区4区公司二百 | 欧美黑人性暴力猛交喷水 | 日韩av视屏 | 亚洲精品福利 | 免费国产wwwwwww网站 | 日韩第一区 | 婷婷91| 欧美成人自拍 | 久久国产精品一区二区三区 | 日日夜夜精品免费视频 | 精品综合 | 日本三级电影网站 | 四虎成人免费电影 | 亚洲电影在线看 | 九九国产| 在线激情视频 | 国产日韩欧美综合 | 国产精品免费自拍 | 国产中文在线 | 亚洲精品成人av |