本篇介紹通用權(quán)限驗(yàn)證的實(shí)現(xiàn)代碼思路,總共分為導(dǎo)入?yún)?shù)、解析XML、根據(jù)XML配置進(jìn)行處理、返回結(jié)果。
代碼架構(gòu)圖
一、 類介紹
1.SFWebPermission:實(shí)現(xiàn)IHttpModule接口,權(quán)限驗(yàn)證入口;
2.SFConfig:導(dǎo)入XML配置類;
3.SFPermission:解析XML配置進(jìn)行權(quán)限驗(yàn)證;
4.SFAccessOper:數(shù)據(jù)庫操作類;
5.SFPermissionSQL:XML節(jié)點(diǎn)實(shí)體類;
6.SFParameter:XML節(jié)點(diǎn)實(shí)體類;
7.SFCommon:系統(tǒng)變量定義類;
8.SFConst:系統(tǒng)常量定義類;
9.SFPermission.xml:配置文件,格式上一篇已經(jīng)介紹。
二、 代碼結(jié)構(gòu)
圖1
圖2
代碼的算法實(shí)現(xiàn)都是用的最容易想到、最常用的編碼方式,語言中比較高級的用法還真沒怎么研究過,肯定是不會用啦!
權(quán)限驗(yàn)證是通過URL查詢得到主鍵判斷的,所以權(quán)限項(xiàng)目(菜單)表中要有URL列,建議是另外添加一張對應(yīng)表,以為一個權(quán)限項(xiàng)有可能需要對應(yīng)多個URL請求。
使用此組件不需要對原項(xiàng)目做任何的代碼修改。
代碼是在.net2.0框架下開發(fā)的,需要考到網(wǎng)站的bin目錄下;
在Web.config的system.web>節(jié)點(diǎn)下面添加
httpModules>
add name="myHttpModule" type="SFPermission.SFWebPermission,SFPermission"/>
/httpModules>
如果這樣添加出錯的話,那就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)代碼思路,希望對大家的學(xué)習(xí)有所幫助。
您可能感興趣的文章:- ASP.net做的IP訪問限制
- asp.net(c#)不可訪問,因?yàn)樗鼙Wo(hù)級別限制
- Asp.net Mvc 身份驗(yàn)證、異常處理、權(quán)限驗(yàn)證(攔截器)實(shí)現(xiàn)代碼
- ASP.NET對HTML頁面元素進(jìn)行權(quán)限控制(三)
- ASP.NET對HTML頁面元素進(jìn)行權(quán)限控制(二)
- ASP.NET對HTML頁面元素進(jìn)行權(quán)限控制(一)
- 在ASP.NET 2.0中操作數(shù)據(jù)之二十:定制數(shù)據(jù)修改界面
- 在ASP.NET 2.0中操作數(shù)據(jù)之二十一:實(shí)現(xiàn)開放式并發(fā)
- 在ASP.NET 2.0中操作數(shù)據(jù)之二十二:為刪除數(shù)據(jù)添加客戶端確認(rèn)
- 在ASP.NET 2.0中操作數(shù)據(jù)之二十三:基于用戶對修改數(shù)據(jù)進(jìn)行限制