Служба WCF в IIS 7, использующая учетную запись домена для идентификации пула приложений - PullRequest
1 голос
/ 16 марта 2011

Я пытаюсь сделать что-то, что, на мой взгляд, должно быть очень простым, но мне совсем не везет. У меня есть простой сервис Hello World WCF, который я размещаю в IIS 7. Служба работает нормально, используя пул приложений по умолчанию. Однако, когда я создаю новый пул приложений и запускаю этот пул приложений с использованием учетной записи домена, я получаю сообщение об ошибке при вызове службы. Я уверен, что мне нужно внести изменения в конфигурацию, однако я не знаю, что это такое. Я получаю ошибку

"Ошибка аутентификации интерфейса поставщика поддержки безопасности (SSPI). Возможно, сервер не работает под учетной записью с идентификатором 'host / ep2t-ifs01'. Если сервер работает под учетной записью службы (например, Network Service), укажите ServicePrincipalName учетной записи в качестве идентификатора в EndpointAddress для сервера. Если сервер работает под учетной записью пользователя, укажите UserPrincipalName учетной записи в качестве идентификатора в EndpointAddress для сервера. "

Безопасность такого типа - это не то, о чем я очень хорошо осведомлен, поэтому никакие предложения не слишком просты. ЛЮБАЯ помощь в этом пункте будет принята с благодарностью. Вот соответствующий раздел из моего файла web.config:

Ответы [ 2 ]

3 голосов
/ 17 марта 2011

Эта проблема довольно сложная.Вот список ресурсов (в указанном порядке), которые вы можете проверить, чтобы понять проблему:

В конце вам, вероятно, потребуется создать имя участника-службы для вашей учетной записи домена, которая связана с сервером, на который вы развертываете.Это требует прав администратора домена.Подробнее здесь

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

По какой-то причине мой раздел web.config не был сохранен ...

<system.serviceModel>
<behaviors>
  <serviceBehaviors>
    <behavior name="basicServiceBehavior">
      <serviceMetadata httpGetEnabled="True" />
      <serviceDebug includeExceptionDetailInFaults="False" />
    </behavior>
  </serviceBehaviors>
</behaviors>
<services>
  <service name="WebSyncPrototypeMVCApp.Service1" behaviorConfiguration="basicServiceBehavior">
    <endpoint address="" binding="wsHttpBinding" contract="WebSyncPrototypeMVCApp.IService1" />
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
  </service>
</services>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...