在我本地好好的
我把网站后台发布后
传到服务器,进如登入页面,发现图片啊,js啊 都引用不到
但是输入密码登入后,再进登入页面就可以访问了给我的感觉 就是 在没有通过表单form验证之前 连图片,也js 这些资源也不可以访问但是在我本地,表单form验证 好象只是针对aspx文件是否可以访问请问这是为什么呢?以下是配置文件 关于验证部分的代码 <system.web>
    <!-- 
            设置 compilation debug="true" 将调试符号插入
            已编译的页面中。但由于这会 
            影响性能,因此只在开发过程中将此值 
            设置为 true。
        -->
    <compilation debug="true">
      <assemblies>
        <add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
      </assemblies>
    </compilation>    <!--
            通过 <authentication> 节可以配置 ASP.NET 使用的 
            安全身份验证模式,
            以标识传入的用户。 
        -->
    <authentication  mode="Forms">
      <forms name="aspnet" loginUrl="LoginManage.aspx" protection="All" timeout="60">      </forms>
    </authentication>
    <authorization>
      <deny users="?"/>
    </authorization>
    
    <pages  enableEventValidation="false"  theme="Default"></pages>
<customErrors mode="Off" defaultRedirect="GenericErrorPage.htm">
            <error statusCode="403" redirect="NoAccess.htm" />
            <error statusCode="404" redirect="FileNotFound.htm" />
        </customErrors>  </system.web>  <location path="Service/VerifyCode.aspx">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>

解决方案 »

  1.   


    不是搂主的Form认证问题,看看你的路径是否配置正确
      

  2.   

    IIS设置上,启用父路径没打开.所以你引用不到.
      

  3.   

    前面的人说的权限,是ASPNET用户的权限.
    你讲的权限,是你的程序里逻辑的权限,不是一个东西.
    要实现你的需求,只有通过编程,思路一句话概括....用文件流返回文件.
      

  4.   

    我的IIS是这样配置的
    前台配置了一个网站
    后台是在该网站下建了一个虚拟目录
    所以前台 如 http://www.sina.com
    那么后台就是 http://www.sina.com/Manage/Login.aspx
    访问 是不是和这样的配置有什么关系呀?我将虚拟目录 Manage  和网站 两个都 启用父路径打开了 还是不行
      

  5.   

    因为你拒绝了所有的匿名用户访问你的资源 
    <deny users="?" />  现在用户连注册都没机会了 1、  新建一个目录 Public ,用于存放一些公用的文件,如你Login.aspx中所有的图片 
    2、  右击点击目录 Public ,新增一个 Web.config 
    内容如下: 
    XML code
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <system.web>
       <authorization><allow users="*"/></authorization> 
     </system.web>
    </configuration>上面这个 Web.config 将替代根目录 Web.config 中的  <authorization> 节点设置,即:         <allow users="*"/> 替换  <deny users="?"> </deny> 因此,处于 Public 目录下的文件,允许所有人浏览,包括未验证的用户。 
    如果有Register.aspx也请放入此目录 
      

  6.   

    请参考这个帖子,有多个解决方法http://topic.csdn.net/u/20080505/23/95f95909-bbe9-43bf-b62c-905d0b1515dd.html
      

  7.   

    amandag 兄的方法是可以,问题解决了
    但是我还是想弄明白 为什么本地,访问那些图片,js等的时候不许要通过验证
    而发布传到服务器就需要了呢?我看了楼上的方法,说"其实还有一个办法,就是在IIS中把图片类型的扩展名与ASP.NET handler的映射给解除掉。这样图片会作为静态资源被访问到,不需要通过授权了"那么请问下大家 这个设置操作 在IIS的哪个菜单 我怎么找不到呢? 
      

  8.   

    但是我还是想弄明白 为什么本地,访问那些图片,js等的时候不许要通过验证 
    而发布传到服务器就需要了呢? 
    ==========
    在本地用IIS服务器也需要验证的
    我看了楼上的方法,说"其实还有一个办法,就是在IIS中把图片类型的扩展名与ASP.NET handler的映射给解除掉。这样图片会作为静态资源被访问到,不需要通过授权了" 
    ==========
    没试过,估计是 inetmgr -- 相应的虚拟目录 -- 配置 -- 映射
      

  9.   

    在本地用IIS服务器也需要验证的 
    那为什么在服务器就 访问不了
    他们是哪个地方的设置不同 还是怎么回事一般我们在本地进行开发的时候
    即使起用了表单验证,在根目录下的配置文件拒绝所有匿名用户<deny users="?">  
    也只是没有通过验证不能访问相应的aspx等文件,但是图片啊,js啊这些还是可以匿名访问的但是为什么到了服务器,就不可以了呢是不是本地和服务器有什么默认设置不同 还是怎么真搞不懂是为什么?