国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
權(quán)限架構(gòu)設(shè)計(jì)

http://blog.csdn.net/hwz119/article/details/3440763

2008

一、設(shè)計(jì)說(shuō)明

由于現(xiàn)在系統(tǒng)的設(shè)計(jì)具有很多不可知的因素,可能存在未來(lái)的擴(kuò)展,故此,在設(shè)計(jì)本權(quán)限架構(gòu)時(shí),盡可能的顧及到了未來(lái)的系統(tǒng)擴(kuò)充和可操作性、可維護(hù)性。把此權(quán)限架構(gòu)作為一個(gè)獨(dú)立的模塊進(jìn)行開發(fā),方便未來(lái)的其他系統(tǒng)應(yīng)用。

 

設(shè)計(jì)說(shuō)明:

本架構(gòu)采用樹型權(quán)限模型處理,所有節(jié)點(diǎn),都可以作為權(quán)限的實(shí)體存在。

如:

         |--權(quán)限A

         |--------插入記錄。

         |--------修改記錄。

         |--------刪除記錄。

         |--------查詢權(quán)限。

|--權(quán)限B

         |--------打印權(quán)限。

         |--------瀏覽權(quán)限。

         |--------管理權(quán)限。

         |--------查詢權(quán)限。

 

如上所示,在[權(quán)限A]這個(gè)模塊下,存在了插入、修改、刪除、查詢四個(gè)權(quán)限(也可能是存在多個(gè)),那么我們?yōu)榱藬U(kuò)展的方便,將所有的權(quán)限,都以此樹的形式進(jìn)行處理,針對(duì)某一個(gè)權(quán)限節(jié)點(diǎn),進(jìn)行判斷,控制。當(dāng)我們要控制某一個(gè)模塊的權(quán)限時(shí),我們可以針對(duì)其父節(jié)點(diǎn)進(jìn)行控制,當(dāng)我們需要控制到某一個(gè)末端的權(quán)限時(shí),我們可以針對(duì)末端子節(jié)點(diǎn)進(jìn)行控制。

 

每一個(gè)用戶,都可以擁有多種角色,這樣,我們可以方便處理交叉權(quán)限。

 

二、庫(kù)表結(jié)構(gòu)

見附件:PurviewTable.Sql

注:為方便移植,在程序編寫過(guò)程中,應(yīng)盡量避免使用存儲(chǔ)過(guò)程,盡量使用標(biāo)準(zhǔn)SQL和數(shù)據(jù)集進(jìn)行操作,數(shù)據(jù)集的使用,盡量使用非強(qiáng)命名的數(shù)據(jù)集,數(shù)據(jù)查詢時(shí),避免標(biāo)明字段的查詢,條件允許的情況下,盡量使用*號(hào),方便擴(kuò)展。

為了程序編寫的方便,所有表,都沒(méi)有使用關(guān)系,所以,在表的添加刪除操作時(shí),一定要到位,特別時(shí)刪除時(shí),關(guān)系子表的數(shù)據(jù)一定要同步刪除。

三、程序設(shè)計(jì)

1、   權(quán)限維護(hù)模塊。

本模塊主要實(shí)現(xiàn)針對(duì)權(quán)限樹(表Tab_Purview)的維護(hù),實(shí)現(xiàn)以樹的形式的維護(hù)管理。

實(shí)現(xiàn)要點(diǎn):

A、   實(shí)現(xiàn)權(quán)限表以樹形式的顯示。

B、   實(shí)現(xiàn)權(quán)限表的不同節(jié)點(diǎn)的插入、修改、刪除。

2、   用戶維護(hù)模塊。

本模塊主要實(shí)現(xiàn)對(duì)用戶的管理,針對(duì)用戶表(Tab_UserTable)的操作。實(shí)現(xiàn)其添加、刪除、修改等功能。用戶密碼字段(UserPass)應(yīng)保存加密后的密碼。

 

3、   角色維護(hù)模塊

本模塊主要實(shí)現(xiàn)針對(duì)角色的維護(hù),其實(shí)就是表Tab_Role的插入修改刪除。

A、   針對(duì)角色表Tab_Role的插入刪除,對(duì)應(yīng)的角色權(quán)限表Tab_RolePurview也要進(jìn)行操作。

B、   每建立一個(gè)角色,將權(quán)限表Purview中的權(quán)限架構(gòu)信息COPY一份到Tab_RolePurview表,并賦于其相應(yīng)的權(quán)限。

C、   該角色所包含的用戶的管理,針對(duì)該角色,添加、刪除包含的用戶。當(dāng)添加一個(gè)用戶時(shí),就要向角色用戶權(quán)限表Tab_RoleUserPurview插入數(shù)據(jù),Copy角色用戶表中Tab_RolePurview的數(shù)據(jù)到Tab_RoleUserPurview表。

D、   當(dāng)刪除一個(gè)用戶時(shí),應(yīng)當(dāng)連同Tab_RoleUserPurview中該用戶的權(quán)限一同刪除。

E、   當(dāng)刪除一個(gè)角色時(shí),應(yīng)當(dāng)連同Tab_RoleUserPurview中該角色的權(quán)限一同刪除。

4、   權(quán)限校驗(yàn)?zāi)K。

權(quán)限的校驗(yàn)可以直接根據(jù)模塊IDTab_Purview中的ID)檢索Tab_RoleUserPurview表,檢索Purview[]的數(shù)據(jù),如果存在行,說(shuō)明該用戶存在此模塊的操作權(quán)限,否則說(shuō)明該用戶沒(méi)有此模塊的權(quán)限。

5、   擴(kuò)展辦法。

A、   用戶登陸。

用戶登陸時(shí),直接讀Tab_UserTable的數(shù)據(jù),傳入用戶ID和加密后的密碼進(jìn)行比對(duì)檢索。

B、   其他

6、   其他

四、界面設(shè)計(jì)

1、 權(quán)限維護(hù)。

見控件:UC_PurviewManagerUC_PurviewAdd,新增和修改可以使用同一界面。

2、 用戶管理。

見控件:UC_UserManager,UC_UserAdd,新增和修改可以使用同一界面。

3、 角色管理。

見控件:UC_RoleManager

4、 系統(tǒng)登陸。

見控件:UC_Login

五、其他

A、 字典管理

字典的管理其實(shí)就是一個(gè)表(Tab_Dictionary)的讀寫操作。

界面見UC_DicManager。

左邊為字典樹,里面根據(jù)Tab_Dictionary中的唯一字典名列出,選擇左邊字典名時(shí),右邊GRID中列出該字典下的所有字段變量,選擇一個(gè)字段變量,將字段變量的信息讀入上面編輯框中,點(diǎn)保存保存到庫(kù)。如果是新的字典,則直接插入到表,然后刷新左側(cè)樹信息。點(diǎn)刪除時(shí),刪除GRID選擇的數(shù)據(jù)。如果只有一條,提示不能刪除。字典最少要保留一條數(shù)據(jù)。

 

 

 

六、時(shí)間要求:

 

SQL腳本

 

--權(quán)限樹表,主要是保存一個(gè)權(quán)限架構(gòu)的模型。
Create Table Tab_Purview
(
 PurviewID Int Identity (1, 1) Not Null, --自增ID
 ParentID Int Null,                      --父節(jié)點(diǎn)ID
 OrderIndex Int Null,                    --排序ID,主要是方便以后的權(quán)限編輯
 NodeName Varchar(50),                   --權(quán)限節(jié)點(diǎn)名稱
 Describes Varchar(200)                  --權(quán)限節(jié)點(diǎn)描述
);

--角色表,保存角色和角色的描述信息。
Create Table Tab_Role
(
 RoleID Int Identity (1, 1) Not Null, --自增ID
 RoleName Varchar(50) Not Null,       --角色名稱
 Describes Varchar(200)               --角色描述
);

--角色權(quán)限表,保存某一個(gè)角色的權(quán)限信息。
Create Table Tab_RolePurview
(
 RoleID Int Not Null,             --角色I(xiàn)D
 PurviewID Int Not Null,          --權(quán)限ID
 PurviewName Varchar(50) Not Null,--權(quán)限名稱,這里的權(quán)限名稱其實(shí)是一個(gè)冗余字段,主要是方便顯示,顯示時(shí)不用再使用聯(lián)合查詢。
 Describes Varchar(200),          --權(quán)限節(jié)點(diǎn)描述
 Purview   Varchar(2) Not Null    --權(quán)限,這里記錄一個(gè)文本類型(有、無(wú))
);

--用戶表,保存用戶信息。
Create Table Tab_UserTable
(
 UserID Int Identity (1, 1) Not Null,--用戶ID
 UserName  Varchar(50),              --用戶名稱,這里的用戶名稱其實(shí)是一個(gè)冗余字段,主要是方便顯示,顯示時(shí)不用再使用聯(lián)合查詢。
 UserPass  Varchar(2000),            --用戶密碼,保留2000的長(zhǎng)度主要是針對(duì)密碼的加密處理。
 Describes Varchar(200)              --用戶描述
);

--角色用戶表,保存某一個(gè)角色下的用戶信息。
Create Table Tab_RoleUser
(
 RoleID Int Not Null,             --角色I(xiàn)D
 UserID Int Not Null,             --用戶ID
 UserName Varchar(50)             --用戶名稱。
);

--角色用戶權(quán)限表,保存某一個(gè)角色下的用戶權(quán)限信息。
Create Table Tab_RoleUserPurview
(
 RoleID Int Not Null,             --角色I(xiàn)D
 UserID Int Not Null,             --用戶ID
 PurviewID Int Not Null,          --權(quán)限ID
 PurviewName Varchar(50),         --權(quán)限名稱,這里的權(quán)限名稱其實(shí)是一個(gè)冗余字段,主要是方便顯示,顯示時(shí)不用再使用聯(lián)合查詢。
 Purview   Varchar(2) Not Null    --權(quán)限,這里記錄一個(gè)文本類型(有、無(wú))
);

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
功能權(quán)限和數(shù)據(jù)權(quán)限管理的實(shí)現(xiàn)
一個(gè)簡(jiǎn)易實(shí)用的web權(quán)限管理模塊的應(yīng)用與實(shí)現(xiàn)
關(guān)于權(quán)限設(shè)計(jì)的探討
RBAC 基于角色的權(quán)限訪問(wèn)控制
權(quán)限管理模塊設(shè)計(jì)
設(shè)計(jì)及設(shè)計(jì)模式:關(guān)于Java權(quán)限控制算法
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服