.Net 4.0 + WCF + аутентификация Windows + IIS - PullRequest
0 голосов
/ 01 марта 2011

Я пытаюсь разместить службу WCF в IIS, которая поддерживает проверку подлинности Windows. Я могу сделать это с помощью Framework 3.5, но когда я изменяю Framework на 4.0, выдает ошибку ниже.

Настройки безопасности для этой службы требуют «анонимной» аутентификации, но она не включена для приложения IIS, на котором размещена эта служба.

Я могу разместить службу на сервере разработки. Но мы должны сделать это с помощью IIS.

<?xml version="1.0"?>
<configuration>
    <system.web>
        <compilation debug="true" targetFramework="4.0">
        </compilation>
        </system.web>
    <system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="BasicHttpEndpointBinding">
                    <security mode="TransportCredentialOnly">
                        <transport clientCredentialType="Windows"/>
                    </security>
                </binding>
            </basicHttpBinding>
        </bindings>
        <services>
            <service name="Service1">
                <endpoint address="" binding="basicHttpBinding" bindingConfiguration="BasicHttpEndpointBinding" name="BasicHttpEndpoint" contract="IService1">
                    <identity>
                        <dns value="localhost"/>
                    </identity>
                </endpoint>        
            </service>
        </services>
        <behaviors>
            <serviceBehaviors>
                <behavior>
                    <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
                    <serviceMetadata httpGetEnabled="true"/>
                    <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
                    <serviceDebug includeExceptionDetailInFaults="false"/>
                </behavior>
            </serviceBehaviors>
        </behaviors>
        <serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
    </system.serviceModel>
    <system.webServer>
        <modules runAllManagedModulesForAllRequests="true">
        </modules>
    </system.webServer>
</configuration>

1 Ответ

0 голосов
/ 01 марта 2011

Эта статья содержит информацию о том, как включить анонимный доступ для IIS7.

В интерфейсе пользователя необходимо выполнить следующие действия:

  • Откройте диспетчер IIS и щелкните левой кнопкой мыши на своем веб-сайте / приложении
  • На панели «Функции» дважды щелкните «Аутентификация»
  • На странице Аутентификация щелкните правой кнопкой мыши по элементу Анонимной аутентификации и выберите «Включить».
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...