Какой SPN мне нужно установить для сервиса net.tcp?
Вопрос
У меня есть приложение wcf, размещенное в службе Windows, под управлением локальной учетной записи Windows. Нужно ли устанавливать SPN для этой учетной записи? Если да, то по какому протоколу должен быть установлен SPN? Я знаю, как сделать это для сервисов через HTTP, но никогда не делал этого для net.tcp.
Решение
По умолчанию (т.е. из коробки) службы net.tcp не защищены и не выполняют никакой аутентификации вообще. Таким образом, вам не нужно (и на самом деле нельзя) установить имя участника службы. Р>
Если вам необходимо пройти аутентификацию, проверьте сеть. Режимы безопасности tcp на MSDN. Лучший способ понять различные комбинации - это экспериментировать!
Другие советы
Измените учетную запись службы на учетную запись AD и зарегистрируйте SPN, как показано. Используйте свое собственное имя сервиса, например fooservice р>
setspn -A fooservice / имя_сервера имя_домена \ serviceAccountName
setspn -A fooservice / servermachinename.fullyqualifieddomainname домен \ serviceAccountName
В настройках клиента установлено:
<identity>
<serviceprincipalname value="fooservice/servermachinename" />
</identity>