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方式即可。