Настройка безопасности транспорта для WCF - PullRequest
1 голос
/ 21 марта 2009

У меня есть служба Windows, на которой размещается служба WCF, и веб-служба на другом компьютере, выступающая в роли клиента. Я установил nettcpbinding для безопасности транспорта с использованием аутентификации Windows. Правильно ли я предполагаю, что пользователь windows, под которым работает веб-служба, должен иметь разрешение на доступ к службе WCF на другом компьютере? Если веб-сервис работает под NetworkService, возможно ли его использовать или мне нужно настроить нового пользователя для использования?

Ответы [ 2 ]

3 голосов
/ 21 марта 2009

Да, вам нужно настроить другого пользователя. Сетевой сервис является локальным пользователем и не будет существовать на хост-машине WCF. (Ну, это так, но у него есть другой пароль, и поэтому он не доступен)

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

aspnet_regiis -ga MachineName\AccountName

Если вы находитесь в домене с аутентификацией Kerberos, вам также потребуется настроить имя участника-службы для новой учетной записи пользователя

setspn -A HTTP/webservername domain\customAccountName
setspn -A HTTP/webservername.fullyqualifieddomainname domain\customAccountName 
1 голос
/ 21 марта 2009

См. http://msdn.microsoft.com/en-us/library/ms684272(VS.85).aspx для хорошей информации о сетевом сервисе. Что произойдет, так это то, что ваш клиент WCF попытается пройти аутентификацию как домен \ имя_компьютера $ на машине, на которой размещен сервис. Я лично предпочитаю иметь конкретную личность для целей аудита.

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