HttpHandlers and HttpModules

Community Server专题四:HttpHandler
Community Server专题三:HttpModule

ASP.Net中自定义Http处理及应用之HttpModule篇

ASP.NET中的HTTP模块和处理程序

http://topic.csdn.net/t/20041009/13/3436974.html

根据权限说一下:  
  我做的是Web下的权限处理,思路与搂主不一样。我说一下我的思路。  
   
  首先是数据库表  
  Users表,负责保存用户帐户信息。  
  Roles表,负责保存用户角色信息,就是用户分组。  
  Permissions表,负责保存权限信息。  
  UserRoles表,用户与角色的关系表,负责保存用户所属的角色。因为一个用户可能属于多个角色,所以只能使用单独的表保存关系。  
  RolePermission表,负责保存角色拥有的权限,同样,一个角色可能拥有多个权限。  
   
  然后就是写代码了。  
   
  Data层负责操作数据库,添加删除修改什么的。  
  Business层负责根据Data层传递的信息生成业务对象,如User类,Role类和Permission类。包括判断拥有权限,判断角色等。  
   
   
  最后,必须把这个权限系统集成到asp.net的验证框架里面,建立了几个类,其中重要的两个:继承IIdentity接口和IPrincipal的两个类,这两个类负责把你写的功能集成到Page.User属性里面。  
  然后,我写了一个DatabaseAuthModule类,继承IHttpModule,负责处理HttpApplication的AuthenticateRequest事件(开始验证事件),在这里可以自动验证客户端是否登陆,如果登录就生成客户的用户信息和角色信息供调用。  
   
  使用的办法就在Web.config里面加入一行DatabaseAuthModule的调用设定就可以了,再把默认的asp.net验证给设置成None方式即可。