Служба отдыха WCF 4 в IIS Developer Express, проблема аутентификации - PullRequest
0 голосов
/ 12 августа 2010

Когда я размещаю «Шаблон службы отдыха WCF 4» (из шаблона) в IIS Developer Express, я получаю следующее:

Указанные IIS схемы проверки подлинности 'IntegratedWindowsAuthentication,Anonymous », но привязка поддерживает только спецификацию только одной схемы аутентификации.Допустимые схемы аутентификации: дайджест, согласование, NTLM, базовая или анонимная.Измените настройки IIS, чтобы использовалась только одна схема аутентификации.

Я не изменил явно ни одну конфигурацию, кроме установки automaticFormatSelectionEnabled в значение false, чтобы вернуть JSON:

<system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
    <standardEndpoints>
      <webHttpEndpoint>
            <!--Configure the WCF REST service base address via the global.asax.cs file and the default endpoint 
            via the attributes on the <standardEndpoint> element below-->
        <standardEndpoint name="" 
                          helpEnabled="true" 
                          automaticFormatSelectionEnabled="false"
                          />
      </webHttpEndpoint>
    </standardEndpoints>
  </system.serviceModel>

Если проблема заключается в том, что конфигурация конечной точки не задана явно, то как бы я это сделал для этого вида службы, чтобы явно настроить схему аутентификации для службы, чтобы избежать этой проблемы с iis developer express?

Примечание. У меня есть следующие сборки Microsoft.Web.dll & Microsoft.Web.Administration.dll в проектах веб-служб / bin папка приложения, как описано в методе обхода сервисов WCF здесь, в блоге команды iss: http://blogs.iis.net/vaidyg/archive/2010/07/21/wcf-workaround-for-webmatrix-beta.aspx

1 Ответ

2 голосов
/ 13 августа 2010

Вам нужно будет отключить схему аутентификации, которая не нужна, я полагаю, аутентификация Windows. Итак:

  1. Запустить блокнот
  2. Открыть в файле блокнота:% userprofile% \ Documents \ IISExpress8 \ config \ applicationhost.config
  3. Поиск
  4. Изменить включенный атрибут с от истинного до ложного
  5. Сохранить

Это отключит проверку подлинности Windows для всех сайтов. В качестве альтернативы вы можете добавить путь к расположению внизу файла непосредственно перед последней строкой для конкретного сайта (в данном случае - YourSite):

<location path="YourSite" overrideMode="Allow">
    <system.webServer>
        <security>
            <windowsAuthentication enabled="false" />
        </security>
    </system.webServer>
</location>

Это отключит его только для определенного сайта.

...