‹Путь к местоположению =› не работает в web.config (в полной версии IIS)

Я пытаюсь добавить разрешить всем моему контенту анонимный доступ в моем каталоге контента для моих файлов 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>
.....

person Korich    schedule 17.07.2011    source источник
comment
Я включил анонимную аутентификацию и аутентификацию с помощью форм, мне что-нибудь не хватает, например, базовую аутентификацию?   -  person Korich    schedule 18.07.2011
comment
вы смогли это исправить?   -  person Flezcano    schedule 24.02.2020


Ответы (2)


* означает только аутентифицированных пользователей. Используйте ? для обозначения анонимных пользователей. Источник: Авторизация ASP.NET.

person Jakub Januszkiewicz    schedule 17.07.2011
comment
Он работает в IIS Express с *, но, похоже, полностью использует правило местоположения в полном IIS. - person Korich; 18.07.2011

попробуйте сделать следующее:

  1. Сначала убедитесь, что вы используете знак вопроса ?, который обозначает доступ анонимного пользователя. Кроме того, чтобы иметь возможность интерпретировать параметр ?, вы должны включить значение IIS site > Authentication > Anonymous Authentication > Enabled
  2. Затем вам может потребоваться перейти на экран Edit... и указать пользователя явным образом (и пользователь AD предпочтительнее в сценарии веб-фермы) или текущее удостоверение пула приложений.

XML-адрес местоположения должен быть:

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

Обратите внимание на значение ?, которое отличается от значения *, которое вы добавили в вопросе.

person Vedran Mandić    schedule 23.12.2020