各位帮忙,为什么我加了以下的代码提示“无法识别的配置节“location”的错误”
      <authentication mode="Forms">
      <!--
      URL 授权
      未登录用户重新定向到Login.aspx
      -->
      <forms name=".ASPXUSERDEMO" loginUrl="Login.aspx" protection="All" timeout="60" />
         </authentication>
      <authorization>
        <deny users="?" />
      </authorization><location path="manage/lib/validateCode.aspx">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>以上的代码是web.config里的,主要是通过Forms验证,只有验证码这个文件(manage/lib/validateCode.aspx)是允许匿名访问的,但是运行时就出现了“无法识别的配置节“location”的错误”,请帮忙,谢谢!

解决方案 »

  1.   

    应该没什么问题。<location path="manage/lib/validateCode.aspx">
    <system.web>
    <authorization>
    <allow users="*" />
    </authorization>
    </system.web>
    </location>这段是加在 <configuration>...</configuration> 中间吗?
      

  2.   

    是啊,但是不行,提示“无法识别的配置节”,把这段删了就可以,但是验证码那个文件(validateCode.aspx)显示不出随机生成的码,我要的就是这个验证码文件能够匿名访问,请帮忙!急啊!不胜感激!
      

  3.   

    <location path="manage/lib/validateCode.aspx">
    <system.web>
    <authorization>
    <allow users="*" />
    </authorization>
    </system.web>
    </location>改成
    <location path="manage/lib/validateCode.aspx">
    <authorization>
    <allow users="*" />
    </authorization>
    </location>
    试一下,
      

  4.   

    高手们请帮忙,我把这段代码拷上来了,看看为什么会出错“无法识别的配置节“location”的错误”<?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        
      <system.web>    <!--  动态调试编译
              设置 compilation debug="true" 以启用 ASPX 调试。否则,将此值设置为
              false 将提高此应用程序的运行时性能。
              设置 compilation debug="true" 以将调试符号(.pdb 信息)
              插入到编译页中。因为这将创建执行起来
              较慢的大文件,所以应该只在调试时将此值设置为 true,而在所有其他时候都设置为
              false。有关更多信息,请参考有关
              调试 ASP.NET 文件的文档。
        -->
        <compilation 
             defaultLanguage="c#"
             debug="true"
        />    <!--  自定义错误信息
              设置 customErrors mode="On" 或 "RemoteOnly" 以启用自定义错误信息,或设置为 "Off" 以禁用自定义错误信息。 
              为每个要处理的错误添加 <error> 标记。          "On" 始终显示自定义(友好的)信息。
              "Off" 始终显示详细的 ASP.NET 错误信息。
              "RemoteOnly" 只对不在本地 Web 服务器上运行的
               用户显示自定义(友好的)信息。出于安全目的,建议使用此设置,以便 
               不向远程客户端显示应用程序的详细信息。
        -->
        <customErrors 
        mode="RemoteOnly" 
        /> 
          <authentication mode="Forms">
            <forms name=".ASPXUSERDEMO" loginUrl="Login.aspx" protection="All" timeout="60" />
          </authentication>
          <authorization>
            <deny users="?" />
          </authorization>
          
         <location path="Include/ValidateCode.aspx">
            <system.web>
              <authorization>
                <allow users="*"/>
              </authorization>
            </system.web>
         </location>
            
        <!--  应用程序级别跟踪记录
              应用程序级别跟踪为应用程序中的每一页启用跟踪日志输出。
              设置 trace enabled="true" 可以启用应用程序跟踪记录。如果 pageOutput="true",则
              在每一页的底部显示跟踪信息。否则,可以通过浏览 Web 应用程序
               根目录中的 "trace.axd" 页来查看
              应用程序跟踪日志。
        -->
        <trace
            enabled="false"
            requestLimit="10"
            pageOutput="false"
            traceMode="SortByTime"
    localOnly="true"
        />    <!--  会话状态设置
              默认情况下,ASP.NET 使用 Cookie 来标识哪些请求属于特定的会话。
              如果 Cookie 不可用,则可以通过将会话标识符添加到 URL 来跟踪会话。
             若要禁用 Cookie,请设置 sessionState cookieless="true"。
        -->
        <sessionState 
                mode="InProc"
                stateConnectionString="tcpip=127.0.0.1:42424"
                sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
                cookieless="false" 
                timeout="20" 
        />    <!--  全球化
              此节设置应用程序的全球化设置。
        -->
        <globalization 
                requestEncoding="utf-8" 
                responseEncoding="utf-8" 
       />
       
     </system.web></configuration>
      

  5.   

    <configuration>
       <system.web>  
          <sessionState cookieless="true" timeout="10"/>
       </system.web>
             
       <!— Configuration for the "Sub1" subdirectory. -->
       <location path="sub1">
          <system.web>
             <httpHandlers>
                <add verb="*" path="Sub1.Scott" type="Sub1.Scott"/>
                <add verb="*" path="Sub1.David" type="Sub1.David"/>
             </httpHandlers>
          </system.web>
       </location>
       
       <!— Configuration for the "Sub2" subdirectory. -->
       <location path="sub2">
          <system.web>
             <httpHandlers>
                <add verb="*" path="Sub2.Scott" type="Sub2.Scott"/>
                <add verb="*" path="Sub2.David" type="Sub2.David"/>
             </httpHandlers>
          </system.web>
       </location>
    </configuration>
    对照一下,看看哪里的层级关系搞错了!
      

  6.   

    location的配置节放到system.web外面
      

  7.   

    <configuration>
      <system.web>
      ...
      </system.web>
      <location>
        <system.web>
        ...
        </system.web>
      </location>
    </configuration>
      

  8.   

    位置不对,<system.web>以外。