ASP.NET成员角色管理这个东西方便到是很方便,扩展也简单,很快就能构建一个系统安全! 
但我有个问题不明白,一直解决不了,闷了很久,希望给看看! 
其实通过Membership/MembershipUser/Roles这三个类一些基本功能都能解决 
但有个问题就是: 
在VS.NET中提供了一个《网站管理工具》,这东西也很好,其中可以对角色规则进行管理,但好像也只能角色对应文件夹来设置权限,这是其次,主要的是项目打包部署之后这个管理工具就用不了。问题是我不是知道我的权限在项目部署后怎么动态修改它。 能力有限一直没能解决,苦闷了很久了,我怎么样在配制文件中来增删改查我的权限结点呀?大家一定要帮帮给看一下呀,长跪不起呀!谢谢! 

解决方案 »

  1.   

    webadmin是无法进行远程访问操作的
    http://weblogs.asp.net/scottgu/archive/2006/07/18/Remote-Membership_2F00_Roles-Management-of-ASP.NET-2.0-Applications.aspx 
    希望对你有帮助!
      

  2.   

    帮你顶,我也是遇到同样的问题,怎样在部署后管理角色的权限,一定要在web.config中存储么?
      

  3.   

    找到这样一篇文章,是通过Authorization Manager设置,谁用过给讲讲吧
    http://msdn2.microsoft.com/en-us/library/ms998336.aspx
      

  4.   

    找到一个办法,通过iis设置完成http://hi.baidu.com/freezesoul/blog/item/6e23dec45b1e93cf38db4971.html
      

  5.   

    可以实现,我记的是将asp.net下的网站管理工具复制copy到一起布置的网站中
      

  6.   

    先创建好角色,在web.config中设置,主要结构如下:
    <location path="Admin">
        <system.web>
          <authorization>        
            <deny users="?"/>
          </authorization>
        </system.web>
      </location>例:
    <location path="Admin">
        <system.web>
          <authorization>        
            <allow roles="Admin" />
            <allow roles="Director" />
            <allow roles="Member" />
            <deny users="*"/>
          </authorization>
        </system.web>
    </location>
    上面就是你web站点下的一个Admin文件夹,允许三个角色访问,你主要修改path值。
      

  7.   

    我也在做一个权限管理模块,做好了感觉不理想!
    现在想用MembershipUser来管理,正在学习中!可和楼主交流,msn:[email protected]
      

  8.   

    先创建好角色,在web.config中设置,主要结构如下: 
    <location   path="Admin"> 
            <system.web> 
                <authorization>                 
                    <deny   users="?"/> 
                </authorization> 
            </system.web> 
        </location> 例: 
    <location   path="Admin"> 
            <system.web> 
                <authorization>                 
                    <allow   roles="Admin"   /> 
                    <allow   roles="Director"   /> 
                    <allow   roles="Member"   /> 
                    <deny   users="*"/> 
                </authorization> 
            </system.web> 
    </location> 
    上面就是你web站点下的一个Admin文件夹,允许三个角色访问,你主要修改path值。就是这样改啊,可以啊
      

  9.   

    楼上的我明白,但是如果我要修改 <allow roles="Member" />这个结点的权限,如果我想把其中的allow       roles="Member"/>角色删除,或者是增加一个角色到这个Admin文件夹中,这代码如何写呀?
      

  10.   

    你讲的意思就是动态修改webconfig吗?如果是的话参考下面内容:网摘: 这个函数主要使用XmlDocument来解析web.config.并用SelectSingleNode()方法来定位要修改的配置节。要注意的是最后程序要Save(),所以,你的apsnet帐号必须对web.config拥有写权限.   
    -------------------------------------------------------------------------------- 
    ///   <summary> 
    ///   修改web.config文件appSettings配置节中的Add里的value属性 
    ///   </summary> 
    ///   <res> 
    ///   注意,调用该函数后,会使整个Web   Application重启,导致当前所有的会话丢失 
    ///   </res> 
    ///   <param   name="key"> 要修改的键key </param> 
    ///   <param   name="strValue"> 修改后的value </param> 
    ///   <exception   cref=""> 找不到相关的键 </exception> 
    ///   <exception   cref=""> 权限不够,无法保存到web.config文件中 </exception> 
    public   void   Modify(string   key,string   strValue) 

    string   XPath="/configuration/appSettings/add[@key='?']"; 
    XmlDocument   domWebConfig=new   XmlDocument(); domWebConfig.Load(   (HttpContext.Current.Server.MapPath("web.config"))   ); 
    XmlNode   addKey=domWebConfig.SelectSingleNode(   (XPath.Replace("?",key))   ); 
    if(addKey   ==   null) 

    throw   new   ArgumentException("没有找到 <add   key='"+key+"'   value=.../> 的配置节"); 

    addKey.Attributes["value"].InnerText=strValue; 
    domWebConfig.Save(   (HttpContext.Current.Server.MapPath("web.config"))   ); }
      

  11.   

    TO楼主,一般都不会动态修改webconfig文件的,一般权限管理在你设计的时候的就要考虑好了,角色和权限紧密相关,用户属于哪个角色,角色拥有哪些功能,先判断用户角色,再根据角色判定权限。