我现在有一套系统,用的是.net自带的Membership和Role Management来管理用户和权限,但由于灵活性不够强大,想换成自定义的用户和权限管理。
我在权限设置上有疑问,现在是通过web.config结合sitemap上节点来控制用户是否可以访问这个网页或目录,请问有什么最好的权限管理方法可以让我不用每个网页都做太多的改动,而实现相同的功能?

解决方案 »

  1.   

    比如,我的菜单是用Sitemap做的,如何能让普通用户进入的时候,看不到Sitemap中的“用户管理”这个模块?
      

  2.   

    先判断权限,然后根据情况将菜单的visible设置为flase
      

  3.   

    通过用户,角色。模块实现权限控制。根据角色动态添加节点
    XmlDataSource GetDataSource(string UserRole, string ServerPath)
        {
            XmlDataSource objData = new XmlDataSource();
            objData.XPath = "siteMap/siteMapNode";
            switch (UserRole)
            {
                case "Administrator":
                    objData.DataFile = ServerPath + @"/App_Data/Administrator.sitemap";
                    break;
                default:
                    objData.DataFile = ServerPath + @"/App_Data/Default.sitemap";
                    break;
            }
            objData.DataBind();
            return objData;
        }