各位大虾们好呀:最近遇到一个超灵异问题,找了很多方法都没有解决:下面是web.config的设置,
<authentication mode="Forms">
<forms name=".ASPXAUTH" path="/" loginUrl="Login.aspx" protection="All" defaultUrl="Default.aspx" timeout="10">
</forms>
</authentication>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
<location path="Admin">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
相信大虾们一看就明白上面几行代码的意思,就是用户验证通过了以后才能访问Admin文件夹下的页面,偶在web.config设置了后在本地运行(没有发布)没有问题的,但是发布到iis上以后,验证就失效了,谁都可以访问那个文件夹下的网页,太晕了,麻烦各位大虾帮忙想想问题在哪里呢,解决了马上给分。先谢啦

解决方案 »

  1.   

    admin 文件夹里有没有 web.config,里面设置<authorization> 没有
      

  2.   

    <forms name=".ASPXAUTH"换个名字试试
      

  3.   

    Forms验证只对动态页面有效,对于静态页面是无效的(如:html页面)。
      

  4.   

    设置
    FormsAuthentication.RedirectFromLoginPage("", true); 
    Response.Redirect("index.html"); 
    是否权限设置问题,通过角色控制
      

  5.   


    //你要先在web.config里设置一下,然后再用cookice来实现
      

  6.   

    楼主可以尝试写一个admin基类,然后让该文件夹下的页面都继承自该基类
      

  7.   

    cookie里面实现了:FormsAuthentication.SetAuthCookie(loginid, true);
    灵异的是:我本地debug的时候没有问题,发布之后就不行,验证就失效了
    另外问一下,和数据库有关吗。