Проблема безопасности WCF - PullRequest
7 голосов
/ 07 августа 2009

У меня есть приложение, которое обращается к службе WCF на сервере, размещенном в консольном приложении. У меня нет проблемы, но когда я пытаюсь получить доступ к другому сервису из консольного приложения, которое находится на другом сервере, у меня возникает проблема.

Я использую TCP для подключения и использую все значения безопасности по умолчанию.

Так что я иду от A-> B, а затем он умирает, переходя от B-> C с. Обратите внимание, что когда я просто иду из A-> C, все в порядке

Ошибка: «сбой вызова SSPI» ... «неверное имя участника назначения» ... трассировка стека ...

В Б, когда я распечатаю
ЕЫпе (ServiceSecurityContext.Current.PrimaryIdentity.Name); Console.WriteLine ( "ServiceSecurityContext.Current.WindowsIdentity.Name);
я вижу, что это мой логин Windows, что хорошо

Так что, похоже, он не передает мои учетные данные, когда идет от B-> C

Есть идеи?

Ответы [ 2 ]

8 голосов
/ 07 августа 2009

SSPI указывает, что вы используете проверку подлинности Windows.

Вы создали безопасное основное имя для службы C в своем домене? Гугл команда setspn. Проблема в том, что окна не будут передавать учетные данные из домена в ненадежную систему. Вы доверяете ему, предоставляя защищенное имя участника в домене, которое затем позволяет передавать токен.

Учебное пособие по созданию безопасного имени участника SPN

3 голосов
/ 19 января 2010

Вы столкнулись с проблемой двойного прыжка. http://blogs.msdn.com/knowledgecast/archive/2007/01/31/the-double-hop-problem.aspx.
Решение, как правило, заключается в использовании аутентификации Kerberos, которая, как говорит Спенс, включает в себя такие вещи, как SPN.

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