<location path =“”>无法在web.config中工作(在完整的IIS中)</location>

时间:2011-07-17 22:45:17

标签: asp.net-mvc web-config iis-7.5

我正在尝试将my all all添加到我的内容目录中的内容匿名访问,因为我的css和js文件位不起作用。

这适用于IIS Express但不适用于完整的IIS。

我的web.config中的部分如下所示。

<!-- Show default CSS and image-->
  <location path="Content">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
  </location>

   <system.web>
    <httpRuntime requestValidationMode="2.0" />
    <compilation debug="true" 
                 targetFramework="4.0">
      <assemblies>
        <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      </assemblies>
    </compilation>

    <authentication mode="Forms">
      <forms loginUrl="~/Home/SignIn" 
             path="/" />
    </authentication>
.....

2 个答案:

答案 0 :(得分:4)

*表示只有经过身份验证的用户。使用?表示匿名用户。来源:ASP.NET Authorization

答案 1 :(得分:0)

尝试执行以下操作:

  1. 首先确保您使用了表示匿名用户访问的问号符号 ?。此外,为了能够解释 ? 选项,您应该启用值 IIS site > Authentication > Anonymous Authentication > Enabled
  2. 接下来,您可能需要进入 Edit... 屏幕并将用户设置为显式用户(在 Web 场场景中首选 AD 用户)或当前应用程序池标识。

位置 XML 应为:

<location path="Content">
    <system.web>
      <authorization>
        <allow users="?" />
      </authorization>
    </system.web>
  </location>

注意与您在问题中添加的 ? 不同的 * 值。