我想控制角色的权限在某个目录下  如: wwwroot\personal\下。
用membership可以实现吗?

解决方案 »

  1.   

    当然可以 ,和不用membership的时候一样,你可以在Web.config里面进行设置<location>.....</location>.
      

  2.   

    myyihua(潇洒年轮) ,麻烦你能不能说详细点!
      

  3.   

    Web.Config配置:
    <configuration>
    <appSettings/>
    <connectionStrings/>
      <system.web>
      <compilation debug="true"/>
          <authentication mode="Forms">
            <forms loginUrl="login.aspx" name=".ASPXFORMSAUTH" protection="All" timeout="30" path="formsAuthenticate" />
          </authentication>
      </system.web>
      <location path="formsAuthenticate">
        <system.web>
          <authorization>
            <deny users="?"/>
            <allow users="*"/>
          </authorization>
        </system.web>
      </location>
    </configuration>
    文件夹列表:
    |-Login.aspx
    |-formsAuthenticate
      |-Index.aspx
    |-Web.ConfigLogin.aspx里有个Button
    protected void Button1_Click(object sender, EventArgs e)
        {
            if (1 == 1)//验证合法性
            {
                FormsAuthenticationTicket ticket = new FormsAuthenticationTicket("ss", true, 1);
                string hashTicket = FormsAuthentication.Encrypt(ticket);
                HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, hashTicket);
                Context.Response.Cookies.Add(cookie);
                Response.Redirect(Request["ReturnUrl"]);
            }
        }测试时直接打开Index.aspx 时它会转到 Login 页面,点击按钮后则可以访问!而根目录下其他文件无需验证即可访问!
      

  4.   

    谢谢 softfire007(为天下美女幸福而生!) 
    我做成了。
    我现在不想用微软自动生成的aspnetdb数据库,我想要自己指定数据库。不通过   
    ”asp.net配置“功能来设置角色可以吗?
      

  5.   

    <!--文件路径权限控制-->
      <location path="admin">
        <system.web>
          <authorization>
            <deny users="?"/>
            <allow users="Administrator"/>
          </authorization>
        </system.web>
      

  6.   

    问题已经解决,感谢各位热心回帖!
    推荐这篇BLOG,写得很好,重了部分MembsershipProvider,希望对遇到同样问题的朋友有帮助。
    http://www.lemongtree.com/zh-cn/0000572.aspx