现在设计一个WEB系统,权限分配是:用户、角色、权限(分:菜单、页面元素等)这样设计的。
根据权限设置,可能把某个权限,例如:aspx页面的连接禁止掉了,但是如果知道该链接的话,直接在IE的地址栏输入该ASPX页面的URL也可以访问,如何限制类似的情况???

解决方案 »

  1.   

    所有页面继承一个BasePage
    在BasePage中重载OnInit函数
    protected override void OnInit(EventArgs e)
        {
            (获取当前请求的Url和数据库匹配)
            base.OnInit(e);
        }
      

  2.   


    现在判断Session是这样做的。第一个版本设计的是在数据库中设置一个字段,标识该菜单功能可访问的ASPX。
      

  3.   

    思路就是将你的所有页面URL都维护进数据库中,与角色进行关联。
    加载某个页面时,通过当前页面URL和当前用户角色来去数据库判断是否有权限访问当前页面。
    至于判断的方式可以在基类中的OnInit中去做,也可以写一个HttpModule进行判断