国产午夜福利在线观看红一片,久久精品国产再热青青青,又硬又粗又大一区二区三区视频,中文字幕乱码免费,久久超碰97文字幕 ,中国精学生妹品射精久久

  • 紅軟基地:您身邊最放心的安全下載站!
您所在的位置:首頁 > 軟件 > 熱門軟件 > asp.net權(quán)限管理系統(tǒng)(framework)

asp.net權(quán)限管理系統(tǒng)(framework)

軟件類型:
國產(chǎn)軟件
軟件語言:
簡體中文
軟件大小:
49 MB
軟件授權(quán):
免費(fèi)軟件
軟件評級:
4
更新時(shí)間:
2014-10-02
應(yīng)用平臺:
WinXP, Win7, WinAll
同類推薦軟件
軟件簡介

一、需求分析:ocZ紅軟基地

1、 頁面結(jié)構(gòu):
一般的管理系統(tǒng)界面,即頁面分為三個(gè)部分,上部是有關(guān)公司的圖片信息,左邊是樹形菜單,左邊是具體菜單對應(yīng)的頁面。
2、 權(quán)限分析:結(jié)合客戶的意思和實(shí)際經(jīng)驗(yàn),將權(quán)限分為兩部分:
1》、大權(quán)限:即控制不同角色用戶看到不同的樹形菜單,只能看到與該用戶角色對
        應(yīng)的菜單權(quán)限
2》、小權(quán)限:即使某幾種角色的擁有相同的左菜單權(quán)限。但是根據(jù)具體的角色再細(xì)
        分,控制在菜單對應(yīng)的具體頁面上有不同的增、刪、改、差權(quán)限
       3、控制Session過時(shí)的人性化
 
二、數(shù)據(jù)庫設(shè)計(jì):
根據(jù)以上要求,開始數(shù)據(jù)庫設(shè)計(jì),需要五個(gè)表:用戶表、菜單樹表、角色菜單表、頁面表和子頁面表
1、 用戶表:除了包含用戶的基本信息,其中還有一列是‘Role’列,代表該用戶的角
色,或者是用戶類型
2、 菜單樹表:如下圖
 
其中PageName列就是菜單對應(yīng)的頁面對應(yīng)的類的名字,也就是頁面類名
3、 角色菜單表:應(yīng)該是用戶表和菜單樹表的一個(gè)間接中間表,如下圖
該表記錄了不同的用戶類型對應(yīng)的不同的菜單和菜單連接頁面的增刪改查權(quán)限,以后將根據(jù)該表來決定用戶的權(quán)限。頁面上的增刪改查按鈕的Enable屬性將與這里的表值對應(yīng)
 
 
4、 頁面表和子頁面表:這里為什么說子頁面表,我這里子頁面表的定義是相對頁面表來說的,因?yàn)轫撁姹砩嫌幸恍┰鰟h改差按鈕,點(diǎn)擊這些按鈕的時(shí)候,我讓他轉(zhuǎn)到(或彈出)另一個(gè)頁面去操作,那么這些頁面就成為子頁面。如下圖:
頁面表
子頁面表
三、代碼設(shè)計(jì)與關(guān)鍵代碼實(shí)現(xiàn):
根據(jù)以上需求和數(shù)據(jù)庫信息來實(shí)現(xiàn)系統(tǒng)架構(gòu)設(shè)計(jì)。
1、做菜單控制比較簡單,僅僅根據(jù)sql語句選擇不同角色對應(yīng)的不同樹而已。
2、控制Session人性化。由于我們不能將session過時(shí)的異常信息直接呈現(xiàn)給客戶,弄的客戶一頭霧水,不知所措。我們需要給客戶人性化的 提示信息。
1》 解決方案一:在每個(gè)頁面判斷session,這是可以的。但是需要我們在進(jìn)入每個(gè)
頁面的時(shí)候都需要判斷,很麻煩,也容易忘記,尤其是公司一個(gè)團(tuán)隊(duì)開發(fā)的時(shí)候,某個(gè)程序員難免會忘記,以造成麻煩。
2》 解決方案二:這也是我自認(rèn)為最好的解決方案,如果有更好的方案,請將你的方案發(fā)到我的郵箱,我將感激不盡。
也就是我讓每個(gè)頁面都繼承一個(gè)BasePage類,而該類繼承System.Web.UI.Page。該類需要重寫基類的這個(gè)方法protected override void OnLoad(EventArgs e),這個(gè)方法的功能是在加載每個(gè)頁面前都要先執(zhí)行這個(gè)方法,一切的判斷都放在這個(gè)方法里面進(jìn)行,當(dāng)session過時(shí)的時(shí)候,就跳到提示頁面,否則進(jìn)行其他判斷(例如頁面的增刪改查權(quán)限)然后響應(yīng)瀏覽器端的請求。
3、 控制每個(gè)頁面的增刪改查權(quán)限:由于OnLoad方法的功能,我們將這個(gè)操作也放在
這里進(jìn)行,并且在session沒有過時(shí)的情況下(道理很簡單,不再多說)。
1》、我們需要一個(gè)權(quán)限管理的類UserPrivilege。這個(gè)類有一個(gè)靜態(tài)字段private static DataTable tablePrivilege,它相當(dāng)于一個(gè)Application類型的全局變量,當(dāng)?shù)谝粋(gè)用戶登陸進(jìn)來后就已經(jīng)初始化。它是一個(gè)表,保存了所有用戶類型對應(yīng)的頁面類名字和響應(yīng)的增刪改差權(quán)限,我么以后的判斷都是對這個(gè)變量進(jìn)行操作。如果某個(gè)用戶修改了權(quán)限表,那么這個(gè)變量也將立即更改
2》、已經(jīng)基本準(zhǔn)備好,但是這時(shí)候OnLoad方法里應(yīng)該怎樣做呢?這里要介紹一個(gè)技巧,就是怎樣在獲得派生類的名字呢?其實(shí)也很簡單,就是利用this.GetType().Name 來獲取當(dāng)前成員的名字,但是這個(gè)名字與我們的頁面類名是有一點(diǎn)不同的,就是在我們的頁面類名字后加了個(gè)‘_aspx’后綴,這個(gè)信息對我們來說是很寶貴的,可以據(jù)此來獲得類的名字,不在介紹。根據(jù)用戶類型(用戶登錄的時(shí)候,我們已經(jīng)將用戶的角色類型保存到session里了)和該頁面類的名字和UserPrivilege類中的靜態(tài)字段tablePrivilege就可以輕松獲得該用戶在該頁面的具體權(quán)限。
3》、我們?nèi)绾伟堰@個(gè)權(quán)限傳遞給具體的頁面,這時(shí)候我們需要在基類中定義一個(gè)受保護(hù)的抽象方法protected abstract void SetButtonEnable();那么繼承該類的所有頁面都必須實(shí)現(xiàn)這個(gè)方法,然后基類調(diào)用這個(gè)方法即可
紅軟基地破解版軟件均來自互聯(lián)網(wǎng), 如有侵犯您的版權(quán), 請與我們聯(lián)系。
軟件下載地址
asp.net權(quán)限管理系統(tǒng)(framework)
軟件推薦
下載排行

精品軟件

熱門關(guān)鍵詞

熱門軟件推薦