权限控制的思考

 

 

企业OA或者其他信息系统,权限控制是一个非常重要的模块,

权限控制包括功能权限和数据权限,这里主要思考功能权限控制。

给出几种种解决方法,可以单独使用或者结合一起使用:

一:使用拦截(Filter)

权限功能通过请求url路径进行管理,预先在数据库中存储用户(一般基于角色)允许访问的url,

然后在每一次http请求时进行验证,如果有权限,放行,否则拦截。

ContractedBlock.gif ExpandedBlockStart.gif 代码
 
   
public class SecurityModule : IHttpModule,IRequiresSessionState
{

#region IHttpModule 成员

void IHttpModule.Dispose()
{

}

void IHttpModule.Init(HttpApplication context)
{
context.AcquireRequestState
+= new EventHandler(ValidateRequest);
}

private void ValidateRequest( object sender, EventArgs e)
{
if 验证通过
就直接放行啦。
else
context.Server.Transfer("/Error.aspx");  

}
}

 

然后在httpModules 中进行相关设置即可

二:使用基类(实现和一差不多。不再介绍)

三:利用Spring.net AOP进行切面管理

在每个功能点执行时进行前置切入,进行权限验证,如果不通过就抛出异常或者跳转等等,关于前置切入的实现,可以参考上一篇文章,非常相似

通过.net的特性,可以对方法进行分类,如只读/读写/拒绝等等

 

转载于:https://www.cnblogs.com/huihui-gohay/archive/2009/12/15/1625093.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值