沙發(fā)(SF)通用權(quán)限驗(yàn)證組件
開(kāi)篇
本篇介紹通用權(quán)限驗(yàn)證的實(shí)現(xiàn)代碼思路,總共分為導(dǎo)入?yún)?shù)、解析xml、根據(jù)XML配置進(jìn)行處理、返回結(jié)果。
代碼架構(gòu)圖
1. 類(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)介紹。
2. 代碼結(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>
DLL下載地址:http://files.VEVb.com/shangfeng/%E6%B2%99%E5%8F%91%28SF%29%E9%80%9A%E7%94%A8%E6%9D%83%E9%99%90%E9%AA%8C%E8%AF%81%E7%BB%84%E4%BB%B6.rar
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注