国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

ASP.NET通用權(quán)限組件思路設(shè)計(jì)

2019-11-17 01:41:49
字體:
供稿:網(wǎng)友

asp.net通用權(quán)限組件思路設(shè)計(jì)

開篇

做任何系統(tǒng)都離不開和繞不過權(quán)限的控制,尤其是B/S系統(tǒng)工作原理的特殊性使得權(quán)限控制起來更為繁瑣,所以就在想是否可以利用IIS的工作原理,在IIS處理客戶端請求的某個入口或出口通過判斷URL來達(dá)到控制權(quán)限的目的,這樣就可以減少通常要在每個頁面或按鈕都要添加的權(quán)限驗(yàn)證代碼。

通常的權(quán)限驗(yàn)證模式

一般的權(quán)限驗(yàn)證會控制到菜單(頁面)就可以滿足,復(fù)雜一點(diǎn)的會要求控制到按鈕(功能點(diǎn)),這個都需要做一下幾點(diǎn)工作:

1.按權(quán)限生成菜單,這是所有系統(tǒng)都要做的;

2.在每個頁面的開始處添加登錄和權(quán)限的驗(yàn)證,調(diào)用公共的驗(yàn)證方法,這個地方經(jīng)常將頁面的編號搞混;

3.隱藏(或這直接不生成)頁面上沒有權(quán)限的按鈕;

4.在功能的響應(yīng)點(diǎn)添加權(quán)限驗(yàn)證代碼,添加、修改、刪除等功能的后臺處理入口處加判斷。

這四個步驟中2、3、4都是比較繁瑣的,非常容易搞錯頁面或功能的編號(通常是復(fù)制過來忘記修改),B/S系統(tǒng)要做好權(quán)限驗(yàn)證杜絕漏洞這四個點(diǎn)的控制都很重要的,當(dāng)然不需要控制到按鈕的第三步就可以省略了,有些時(shí)候大家會忽略對第四步的驗(yàn)證,比如在調(diào)用.ashx(一般處理程序)頁面處理操作請求時(shí),并沒有在.ashx后臺的代碼中進(jìn)行權(quán)限(或登錄)驗(yàn)證,這樣就存在安全隱患了。

新的的權(quán)限驗(yàn)證模式設(shè)計(jì)

新的權(quán)限驗(yàn)證模式想要達(dá)到的目的是將上面的 2、3、4繁瑣的權(quán)限驗(yàn)證調(diào)用去掉,在IIS處理請求的總?cè)肟诨虺隹谕ㄟ^請求的URL判斷是否有權(quán)限,根據(jù)判斷的結(jié)果對請求進(jìn)行不同的處理(終止、跳轉(zhuǎn)、提示或正常處理)。

通過查閱互聯(lián)網(wǎng)資料發(fā)現(xiàn)可以通過httpModules來實(shí)現(xiàn),對httpModules的詳細(xì)介紹請參照點(diǎn)擊打開鏈接

httpModules介紹博客地址:http://m.survivalescaperooms.com/chenlulouis/archive/2009/12/18/1626918.html

通用權(quán)限驗(yàn)證組件設(shè)計(jì):

1.選擇在httpModules的PReRequestHandlerExecute事件作為權(quán)限驗(yàn)證控制點(diǎn),在這個事件前面的其它事件session還沒有生效無法取到用戶信息,越往后的事件所處理完成的請求越多,權(quán)限認(rèn)證肯定是越早越好,所以就選擇了這個事件。

2.通過配置文件控制權(quán)限的驗(yàn)證,需要配置的點(diǎn)主要有:

2.1基礎(chǔ)配置:數(shù)據(jù)庫連接字符串、URL截取規(guī)則、登錄頁面(為登錄時(shí)跳轉(zhuǎn))、提示信息(沒有權(quán)限時(shí))、登錄驗(yàn)證Session標(biāo)志;

2.2驗(yàn)證URL:URL拼接參數(shù)配置(有些頁面要拼接參數(shù)后作為整體判斷權(quán)限);

2.3需驗(yàn)證頁面:限定驗(yàn)證范圍,圖片、js文件這些肯定是不需要驗(yàn)證的,需要驗(yàn)證的通常情況下也都是可預(yù)知的,可按后綴名或路徑配置;

2.4忽略驗(yàn)證頁面:在需要驗(yàn)證的配置范圍內(nèi)有些頁面是不需要驗(yàn)證的,如登錄頁、主框架頁、修改密碼等,可按后綴名或路徑配置;

2.5權(quán)限查詢語句:根據(jù)取到的URL判斷登錄用戶是否有權(quán)限的SQL語句和語句參數(shù);

2.6字功能查詢語句:查詢有權(quán)限的子功能的SQL語句和語句參數(shù),權(quán)限需要控制到按鈕時(shí)才需要。

3.實(shí)現(xiàn)參數(shù)的導(dǎo)入、解析按配置的要求實(shí)現(xiàn)權(quán)限的驗(yàn)證控制。

結(jié)尾

這樣一個簡單的ASP.NET通用權(quán)限驗(yàn)證組件就設(shè)計(jì)完畢了,接下來就是用代碼實(shí)現(xiàn)了,本人計(jì)劃用C#代碼實(shí)現(xiàn)這個設(shè)計(jì),主要是想通過這個組件的開發(fā)加深對IIS工作原理的認(rèn)識和理解,提升開發(fā)通用功能的能力。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 齐齐哈尔市| 保亭| 东宁县| 越西县| 长治县| 依兰县| 建昌县| 洛扎县| 勐海县| 临沂市| 宁阳县| 天祝| 潼南县| 玉田县| 凤城市| 霞浦县| 天峨县| 永胜县| 金山区| 铁力市| 双鸭山市| 桐柏县| 安远县| 广德县| 伊金霍洛旗| 广东省| 永定县| 岳普湖县| 平远县| 综艺| 新余市| 民勤县| 东阳市| 醴陵市| 深水埗区| 西乌珠穆沁旗| 望谟县| 新乡市| 富阳市| 文山县| 五台县|