• 使用HttpModule实现权限系统


      开发系统的时候,应用系统的权限控制是非常重要的一个部分。在Asp中,要实现权限的控制是比较麻烦的事件,因为我们必须要在每个需要控制权限的Asp页面添加权限控制代码,从而控制客户对页面的访问。这样带来的问题,除了编写大量的重复代码外,由于权限控制部分同业务处理部分的模块紧密耦合在一些,对权限控制模块的修改,往往又会带来大量的修改工作,甚至造成大量的Bug。

      所以,我们现在需要将权限控制和业务处理模块进行解耦,使得两个部分可以独立开发和修改,而不会相互影响,或者,将影响减到最低。在Asp.net中,我们可以使用HttpModule实现。

    public class RightChecker
    {
        public static bool HasRight(User user,Module module)
        {
            //进行权限验证
        }
    }
    public MyModule:IHttpModule
    {
        public void Init(HttpApplication application)
        {
            application.AcquireRequestState+= new EventHandler(this.Application_AcquireRequestState);
        }
        public void Application_AcquireRequestState(Object source,EventArgs e)
        {
            HttpApplication application=(HttpApplication)source;
            User user = application.Context.Session["User"];//获取User
            string url = application.Context.Request.Path;//获取用户访问的页面
            Module module = //根据Url得到所有模块
            if()
            {
                application.Context.Server.Transfer("Error.aspx");
            }
        }
        public void Dispose()
        {}
    }
  • 相关阅读:
    MySQL之触发器
    MySQL之视图
    MySQL之多表查询(笛卡尔积查询、内连接、外连接(左外连接,右外连接)、union、union all )
    MySQL之子查询
    MySQL之关键字
    mysql之内连接,外连接(左连接,右连接),union,union all的区别
    mysql之魔鬼训练营
    MySQL之innodb和myisam的区别
    springmvc+spring+mybatis 项目配置
    Css3 伪元素
  • 原文地址:https://www.cnblogs.com/AngelLee2009/p/2219760.html
Copyright © 2020-2023  润新知