沙发(SF)通用权限验证组件
开篇
本篇介绍通用权限验证的实现代码思路,总共分为导入参数、解析XML、根据XML配置进行处理、返回结果。
代码架构图
1. 类介绍
1.SFWebPermission:实现IHttpModule接口,权限验证入口;
2.SFConfig:导入XML配置类;
3.SFPermission:解析XML配置进行权限验证;
4.SFAccessOper:数据库操作类;
5.SFPermissionSQL:XML节点实体类;
6.SFParameter:XML节点实体类;
7.SFCommon:系统变量定义类;
8.SFConst:系统常量定义类;
9.SFPermission.xml:配置文件,格式上一篇已经介绍。
2. 代码结构
图1
图2
代码的算法实现都是用的最容易想到、最常用的编码方式,语言中比较高级的用法还真没怎么研究过,肯定是不会用啦!
权限验证是通过URL查询得到主键判断的,所以权限项目(菜单)表中要有URL列,建议是另外添加一张对应表,以为一个权限项有可能需要对应多个URL请求。
使用此组件不需要对原项目做任何的代码修改。
代码是在.net2.0框架下开发的,需要考到网站的bin目录下;
在Web.config的<system.web>节点下面添加
<httpModules>
<add name="myHttpModule" type="SFPermission.SFWebPermission,SFPermission"/>
</httpModules>
如果这样添加出错的话,那就<system.webServer>节点下面添加
<modules>
<add name="myHttpModule" type="SFPermission.SFWebPermission,SFPermission"/>
</modules>
DLL下载地址:http://files.cnblogs.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