ASP.NET通用權(quán)限驗(yàn)證的實(shí)現(xiàn)代碼思路
本篇介紹通用權(quán)限驗(yàn)證的實(shí)現(xiàn)代碼思路,總共分為導(dǎo)入?yún)?shù)、解析XML、根據(jù)XML配置進(jìn)行處理、返回結(jié)果。
代碼架構(gòu)圖

一、 類(lèi)介紹
1.SFWebPermission:實(shí)現(xiàn)IHttpModule接口,權(quán)限驗(yàn)證入口;
2.SFConfig:導(dǎo)入XML配置類(lèi);
3.SFPermission:解析XML配置進(jìn)行權(quán)限驗(yàn)證;
4.SFAccessOper:數(shù)據(jù)庫(kù)操作類(lèi);
5.SFPermissionSQL:XML節(jié)點(diǎn)實(shí)體類(lèi);
6.SFParameter:XML節(jié)點(diǎn)實(shí)體類(lèi);
7.SFCommon:系統(tǒng)變量定義類(lèi);
8.SFConst:系統(tǒng)常量定義類(lèi);
9.SFPermission.xml:配置文件,格式上一篇已經(jīng)介紹。
二、 代碼結(jié)構(gòu)
圖1

圖2

代碼的算法實(shí)現(xiàn)都是用的最容易想到、最常用的編碼方式,語(yǔ)言中比較高級(jí)的用法還真沒(méi)怎么研究過(guò),肯定是不會(huì)用啦!
權(quán)限驗(yàn)證是通過(guò)URL查詢(xún)得到主鍵判斷的,所以權(quán)限項(xiàng)目(菜單)表中要有URL列,建議是另外添加一張對(duì)應(yīng)表,以為一個(gè)權(quán)限項(xiàng)有可能需要對(duì)應(yīng)多個(gè)URL請(qǐng)求。
使用此組件不需要對(duì)原項(xiàng)目做任何的代碼修改。
代碼是在.net2.0框架下開(kāi)發(fā)的,需要考到網(wǎng)站的bin目錄下;
在Web.config的<system.web>節(jié)點(diǎn)下面添加
<httpModules> <add name="myHttpModule" type="SFPermission.SFWebPermission,SFPermission"/> </httpModules>
如果這樣添加出錯(cuò)的話,那就<system.webServer>節(jié)點(diǎn)下面添加
<modules> <add name="myHttpModule" type="SFPermission.SFWebPermission,SFPermission"/> </modules>
以上就是關(guān)于ASP.NET通用權(quán)限驗(yàn)證的實(shí)現(xiàn)代碼思路,希望對(duì)大家的學(xué)習(xí)有所幫助。
- ASP.net做的IP訪問(wèn)限制
- asp.net(c#)不可訪問(wèn),因?yàn)樗鼙Wo(hù)級(jí)別限制
- Asp.net Mvc 身份驗(yàn)證、異常處理、權(quán)限驗(yàn)證(攔截器)實(shí)現(xiàn)代碼
- ASP.NET對(duì)HTML頁(yè)面元素進(jìn)行權(quán)限控制(三)
- ASP.NET對(duì)HTML頁(yè)面元素進(jìn)行權(quán)限控制(二)
- ASP.NET對(duì)HTML頁(yè)面元素進(jìn)行權(quán)限控制(一)
- 在ASP.NET 2.0中操作數(shù)據(jù)之二十:定制數(shù)據(jù)修改界面
- 在ASP.NET 2.0中操作數(shù)據(jù)之二十一:實(shí)現(xiàn)開(kāi)放式并發(fā)
- 在ASP.NET 2.0中操作數(shù)據(jù)之二十二:為刪除數(shù)據(jù)添加客戶(hù)端確認(rèn)
- 在ASP.NET 2.0中操作數(shù)據(jù)之二十三:基于用戶(hù)對(duì)修改數(shù)據(jù)進(jìn)行限制
相關(guān)文章
安裝.NET Framework進(jìn)度條卡住不動(dòng)的解決方案(推薦)
VS在安裝之前需要安裝.NET Framework,我安裝的是4.0版本。但是安裝進(jìn)度條到一半左右時(shí)就卡住不動(dòng)了。前前后后重試多次,還有幾次重新開(kāi)機(jī),但都沒(méi)用,怎么解決呢,下面給大家分享下解決方案2016-12-12
asp.net DataList與Repeater用法區(qū)別
Repeater比DataList要好一些,如果不是很大數(shù)據(jù)量的話,這點(diǎn)差別是體現(xiàn)不來(lái)的。2009-12-12
動(dòng)態(tài)加載Js代碼到Head標(biāo)簽中的腳本
我遇到了這樣的問(wèn)題,請(qǐng)教google,結(jié)果大多數(shù)只是介紹那個(gè)注冊(cè)js的幾個(gè)函數(shù),而這幾個(gè)函數(shù)插入的js都在body里面,幸而在老外那里看到了這個(gè)代碼,其實(shí)比較簡(jiǎn)單,但夠有用2009-01-01
詳解一款開(kāi)源免費(fèi)的.NET文檔操作組件DocX(.NET組件介紹之一)
本篇文章主要是介紹了一款開(kāi)源免費(fèi)的.NET文檔操作組件DocX,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2016-12-12
.NET某消防物聯(lián)網(wǎng)后臺(tái)服務(wù)內(nèi)存泄漏分析
這篇文章主要為大家介紹了.NET某消防物聯(lián)網(wǎng)后臺(tái)服務(wù)內(nèi)存泄漏分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
xpath的數(shù)據(jù)和節(jié)點(diǎn)類(lèi)型以及XPath中節(jié)點(diǎn)匹配的基本方法
xpath的數(shù)據(jù)和節(jié)點(diǎn)類(lèi)型以及XPath中節(jié)點(diǎn)匹配的基本方法,學(xué)習(xí)xpath的朋友可以參考下。2010-09-09
在 ASP.Net Core 中使用 MiniProfiler的方法
這篇文章主要介紹了在 ASP.Net Core 中使用 MiniProfiler的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
如何傳值在2個(gè)頁(yè)面之間 要求不刷新父頁(yè)面,并且不能用Querystring傳值
通過(guò)Cookie,因?yàn)樗瓤梢栽诜?wù)器端對(duì)其進(jìn)行操作,也可在客戶(hù)端對(duì)其進(jìn)行操作但是缺點(diǎn)是不安全,而且有時(shí)客戶(hù)端會(huì)由于安全問(wèn)題禁用Cookie!2008-12-12

