分享

权限控制

 A_POST 2013-08-19

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

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

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

一:使用拦截(Filter)

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

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

复制代码
复制代码
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的特性,可以对方法进行分类,如只读/读写/拒绝等等

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多