婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > 用戶權(quán)限管理設(shè)計(jì)[圖文說(shuō)明]

用戶權(quán)限管理設(shè)計(jì)[圖文說(shuō)明]

熱門(mén)標(biāo)簽:不同的地圖標(biāo)注 防城港市ai電銷(xiāo)機(jī)器人 溫嶺代理外呼系統(tǒng) 怎么更改地圖標(biāo)注電話 臨滄移動(dòng)外呼系統(tǒng)哪家有 隨州銷(xiāo)售外呼系統(tǒng)平臺(tái) 交行外呼系統(tǒng)有哪些 寧夏保險(xiǎn)智能外呼系統(tǒng)哪家好 激戰(zhàn)黃昏地圖標(biāo)注說(shuō)明
最近在一個(gè)項(xiàng)目中設(shè)計(jì)的一個(gè)用戶權(quán)限的設(shè)計(jì),很樂(lè)意與大家一起討論及分享.
設(shè)計(jì)思路
我的設(shè)計(jì)思路或者說(shuō)是我想要實(shí)現(xiàn)的功能
1.用戶的權(quán)限通過(guò)角色來(lái)控制,一個(gè)用戶可以擁有多個(gè)角色.
2.用戶擁有不同角色時(shí),其權(quán)限應(yīng)該是多個(gè)角色相互的補(bǔ)集.
3.一個(gè)角色擁有多個(gè)模塊
4.用戶的前臺(tái)菜單顯示根據(jù)角色所擁有的模塊所決定,不同的用戶在前端顯示的操作菜單是不一樣的。
5.頁(yè)面中的功能按鈕根據(jù)模塊中所包含的功能所定義,通過(guò)模塊及角色所擁有的權(quán)限進(jìn)行控制
6.可看某個(gè)模塊有哪些用戶,哪些對(duì)應(yīng)角色,并對(duì)其進(jìn)行特殊權(quán)限設(shè)置.
7.可以針對(duì)單個(gè)用戶進(jìn)行特殊設(shè)置
我在我的Project中,基本上達(dá)到了以上的效果及功能,但在實(shí)際過(guò)程中發(fā)現(xiàn)有些不足之處。因?yàn)檎麄€(gè)權(quán)限設(shè)計(jì)是基于數(shù)據(jù)庫(kù)來(lái)設(shè)計(jì)中,所以數(shù)據(jù)的讀取當(dāng)數(shù)據(jù)量大時(shí)(我所說(shuō)的數(shù)據(jù)量是以萬(wàn)以上來(lái)計(jì))可能對(duì)性能有一定的影響。但對(duì)于一般來(lái)說(shuō),幾千用戶之類(lèi)的我想還是可以承受的。我會(huì)在后面說(shuō)明不足之處。
數(shù)據(jù)庫(kù)設(shè)計(jì)
基本設(shè)計(jì):
1.首先,設(shè)計(jì)數(shù)據(jù)庫(kù).
數(shù)據(jù)庫(kù)的設(shè)計(jì)其實(shí)我估計(jì)大家都很熟悉了
基本表:用戶表,角色表,模塊表,功能表,管理員表.如果涉及到企業(yè)性質(zhì)的,可能會(huì)根據(jù)需要加上組織結(jié)構(gòu)表,群組表等其它輔助表
用戶

 

管理員

角色

模塊

(我的模塊表考慮了子模塊的因素,所以會(huì)有深度,父模塊ID這兩個(gè)字段,在后來(lái)開(kāi)發(fā)過(guò)中,由于思路的轉(zhuǎn)變,IsRootModule,FunctionCode我都沒(méi)有用到,為了讓整個(gè)權(quán)限系統(tǒng)通變得更通用,我都將其單獨(dú)設(shè)計(jì)成了另一個(gè)表)

功能表(功能表就是模塊對(duì)應(yīng)的功能:增加,刪除,修改,詳細(xì),列表,瀏覽,導(dǎo)出,導(dǎo)入之類(lèi)的)

業(yè)務(wù)表:用戶-角色表 模塊-功能表 角色-模塊表

要實(shí)現(xiàn)一個(gè)用戶多個(gè)角色(1 to n),一個(gè)角色多個(gè)模塊(1 to n),一個(gè)模塊多個(gè)功能(1 to n),那就得加上幾個(gè)相關(guān)的業(yè)務(wù)表,之前考慮用視圖去實(shí)現(xiàn),我個(gè)人之見(jiàn),視圖最好只用來(lái)讀取數(shù)據(jù),不要用來(lái)進(jìn)行數(shù)據(jù)操作.后來(lái)證明是不可取的,這里要注意的就是在實(shí)際的業(yè)務(wù)操作中,應(yīng)該盡量避免重復(fù)的數(shù)據(jù)錄入. 這些表都很簡(jiǎn)單,但卻很關(guān)鍵

用戶-角色:

角色-模塊:

模塊-功能:

大家可以看到,表結(jié)構(gòu)很簡(jiǎn)單,字段也很少,設(shè)計(jì)也差不多。都是將相關(guān)聯(lián)的字段ID取出來(lái)做數(shù)據(jù)存取。

視圖:用戶-角色-模塊-功能視圖

 

可能大家會(huì)覺(jué)得很奇怪,為什么這里出現(xiàn)member_role呢。因?yàn)槲覀冊(cè)跀?shù)據(jù)表中只存取了ID值,而對(duì)應(yīng)的RoleName字段并沒(méi)有包含其中,這里的視圖就是獲取關(guān)聯(lián)表中其他所需要的字段數(shù)據(jù)了。另外兩個(gè)視圖大家看名字應(yīng)該就知道他的用處了。

存儲(chǔ)過(guò)程:各自表的增加,刪除,修改,及列表數(shù)據(jù). 判斷是否存在相同的數(shù)據(jù)
(CUDLIS-Create, Update,Delete,IfExist,Show,List)

存儲(chǔ)過(guò)程我就不一一列出了,很簡(jiǎn)單的,你只要寫(xiě)出下面這些基本上你在開(kāi)發(fā)過(guò)程就不會(huì)有太多問(wèn)題了. 注意的是:在相互關(guān)聯(lián)的業(yè)務(wù)表中,最好能對(duì)數(shù)據(jù)插入進(jìn)行重復(fù)數(shù)據(jù)判斷(用戶角色表,模塊功能表,角色模塊表,盡量避免重復(fù)的數(shù)據(jù)插入)我把大致需要實(shí)現(xiàn)的業(yè)務(wù)列個(gè)表給大家參考:

用戶表:(Insert ,Update ,IfExist ,Show, Delete)

用戶角色表:(Insert ,Update,IfExist,Delete,RoleListByUserID,UserListByRoleID)

角色表:(Insert,Update,IfExist,Show,Delete)

角色模塊表:(Insert,IfExist,Delete,Show,RoleListByModuleID,ModulistByRoleID)

模塊表:(Insert,Update,IfExist,Show,Dlete,ListByRootModuleID,ListByModuleLevel)

模塊功能表:(Insert,Update,Delete,FunctionListByModuleID)

針對(duì)用戶直接獲取其所有的權(quán)限時(shí),應(yīng)該有個(gè)單獨(dú)的Procedure從視圖中Member_Role_Module_Function中獲取其對(duì)應(yīng)的數(shù)據(jù),這樣就可以得到想要的東西了。

數(shù)據(jù)庫(kù)設(shè)計(jì)部分應(yīng)該就這樣差不多了。我想這應(yīng)該是通用的。在實(shí)際運(yùn)用過(guò)程中,我個(gè)人認(rèn)為應(yīng)該有一些改進(jìn)點(diǎn):

1.模塊與功能部分,可以用字符串的形式將模塊對(duì)應(yīng)的功能存在一個(gè)數(shù)據(jù)字段中,這樣可能在你的代碼編寫(xiě)中可以省下較多的時(shí)間并帶來(lái)更多的便利(主要是可以用split()來(lái)代替頻繁的數(shù)據(jù)獲取業(yè)務(wù))這個(gè)我在最初設(shè)計(jì)中沒(méi)有想到這點(diǎn),有點(diǎn)失策.

2.針對(duì)N級(jí)模塊的權(quán)限展現(xiàn)問(wèn)題,如何讓父模塊繼承子模塊的權(quán)限這個(gè)是我沒(méi)有考慮到的,不過(guò)我想應(yīng)該可以用IsRootModule這個(gè)字段來(lái)作文章,可惜我還沒(méi)想到如何去整這個(gè)字段。當(dāng)子模塊很多時(shí),在前端UI展示的時(shí)候是否會(huì)出現(xiàn)很慢的情況?這個(gè)我沒(méi)有去做測(cè)試。帶有一定的風(fēng)險(xiǎn)
但在前端UI展示我還沒(méi)想到或?qū)崿F(xiàn)好的辦法,我能想到的應(yīng)該是像GridViewTree那種不錯(cuò)。

這個(gè)權(quán)限設(shè)計(jì)已經(jīng)在我的Project中運(yùn)用,暫時(shí)沒(méi)有發(fā)現(xiàn)什么問(wèn)題,而且為我以后對(duì)其它系統(tǒng)集成也很有幫助。至于如何在C#中實(shí)現(xiàn)業(yè)務(wù),個(gè)人認(rèn)為只要知道數(shù)據(jù)庫(kù)如何整的,那C#中的業(yè)務(wù)實(shí)現(xiàn)只是一個(gè)取數(shù)操作過(guò)程。下篇與大家再共同分享討論.

您可能感興趣的文章:
  • App登陸java后臺(tái)處理和用戶權(quán)限驗(yàn)證
  • java web實(shí)現(xiàn)用戶權(quán)限管理
  • Oracle 用戶權(quán)限管理方法
  • php后臺(tái)多用戶權(quán)限組思路與實(shí)現(xiàn)程序代碼分享
  • Linux下SFTP用戶權(quán)限設(shè)置條件及實(shí)現(xiàn)命令
  • IIS6.0的默認(rèn)權(quán)限和用戶權(quán)限設(shè)置小結(jié)
  • Linux給普通用戶加超級(jí)用戶權(quán)限的方法
  • MySQL創(chuàng)建用戶與授權(quán)及撤銷(xiāo)用戶權(quán)限方法
  • 復(fù)雜系統(tǒng)中的用戶權(quán)限數(shù)據(jù)庫(kù)設(shè)計(jì)解決方案
  • javaWeb用戶權(quán)限控制簡(jiǎn)單實(shí)現(xiàn)過(guò)程

標(biāo)簽:沈陽(yáng) 哈密 紅河 青海 阜陽(yáng) 河源 忻州 無(wú)錫

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《用戶權(quán)限管理設(shè)計(jì)[圖文說(shuō)明]》,本文關(guān)鍵詞  用戶,權(quán)限,管理,設(shè)計(jì),圖文,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《用戶權(quán)限管理設(shè)計(jì)[圖文說(shuō)明]》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于用戶權(quán)限管理設(shè)計(jì)[圖文說(shuō)明]的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 西平县| 马鞍山市| 双流县| 运城市| 安仁县| 格尔木市| 临城县| 连山| 大关县| 兰坪| 竹溪县| 连州市| 平顶山市| 青河县| 防城港市| 舞钢市| 阿鲁科尔沁旗| 息烽县| 行唐县| 浙江省| 瑞金市| 浮山县| 襄城县| 沈丘县| 肇东市| 惠安县| 固原市| 聂荣县| 绥芬河市| 通榆县| 安康市| 曲麻莱县| 潮安县| 岳普湖县| 株洲市| 高邮市| 濮阳县| 儋州市| 青神县| 全南县| 清苑县|