超难,权限的控制IHttpModule,不够分再加
有谁知道在ASP.net中实现这样的安全模块:应用中的URL或资源
有多个操作过程,比如查看,创建,更新,删除。如果可以在操作上
(而不是在资源上)控制用户的访问,这样就很有用。可以使asp.net
页面可以为相关的用户得到操作清单,实现权限控制。
我已经通过实现Ihttpmodule接口实现了用户的验证。现在,想可以一步
完善这个安全模块,望各位可以一起提建议或交流
我指login 成功以后,进入一个asp.net的页面,比如http://mysite/test.asp.net(webform),里面有3按钮bt_add,bt_update,bt_check,根据登陆用户的权限不同,如经理有这3个按纽的全部执行权限,而开单人员只有bt_add,bt_update的功能,不可以执行bt_check按纽。
我想实现的功能呢,就是构建一个安全模块:
1:可以取得各个页面中的按纽的name,text,按纽所在的页面(webform)的name放在database里面。
2:给每个role或user,根据user权限级别高低,设置页面(webform)里面按纽可否执行,这些信息就存在database中
3:应用执行时,已通过验证的user,根据usid从database取出对各个页面(webform)的按扭(操作)清单,放在全局缓存中。用户在页面对按扭执行时,就根据全局缓存中的操作清单,判断该用户对该按扭是否有权限执行。
这样就实现了对按扭,也就是实现了操作上的授权安全。
4:如果可能的话,对httpapplication对象处理 AuthorizeRequest 事件应用程序级 (global.asax) 或者Http Module (实现 IHttpModule),实现第3步中的“就根据全局缓存中的操作清单,判断该用户对该按扭是否有权限执行。”
以上,就是我要实现的自定制Web授权。第1步和第3步是困难所在,望楼上的