asp.net 中细粒度权限控制

最近工作项目需要增加权限访问控制,以前做需求的时候没有做进去,所以现在要加上去感觉改动比较大,而且要求也还比较高,要求控制粒度细到按钮上。以下将来详细说明如何如何IHttpModule实现:

 

1、需求:

a、增加登录验证,进入系统需要先登录;

b、会话保护,登录后在10分钟内无操作则再次操作时需要重新登录;

c、菜单级权限控制;

d、按钮级权限控制;

 

实现:

1、新建类,类实现IHttpModule接口,如果需要使用Session则还需要实现IRequiresSessionState接口,IRequiresSessionState仅是个声名而已,不需要实现任何方法;

 

2、注册事件

Init方法中对content注册事件,登录建议使用PreRequestHandlerExecute来做验证;具体验证方法则有很多了,根据个人喜好实现;

这样就实现了登录控制;事件参数sender为HttpApplication,可取得Request.Url,这样可取得请求url地址,即可对页面级权限进行控制。

 

3、控制页面按钮权限,创建一个Js文件,在Js文件里我是使用了Jquery在对当前页面对象做访问,配置页面权限按钮时,将控件的id或满足Jquery查询条件的值写入配置表,建一个ashx的handle处理类,返回请求页面的可用或不可用对象;再将相应对象hide或show就OK了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值