У меня есть 2 службы WCF, (A и B), где A вызывает B.
Служба WCF A работает с использованием удостоверения ServiceUserA (как установлено в пуле приложений).
Служба B WCF выполняется с использованием удостоверения ServiceUserB (как установлено в пуле приложений).
Служба B WCF должна разрешить доступ пользователям в группе AD ServiceBAccessGroup.
ServiceUserA является частью ServiceBAccessGroup.
Когда служба A пытается подключиться к службе B, она выдает эту ошибку:
SecurityNegotiationException Ошибка вызова SSPI, см. Внутреннее исключение:
«Целевое имя участника неверно»
Когда и ServiceA, и Service B работали в качестве сетевой службы, это работало нормально.
Как разрешить пользователям части ServiceBAccessGroup подключаться к ServiceB?
Редактировать: Больше информации об окружающей среде:
.net 3.5, IIS 7.0 (WAS), через netTcpBinding, Windows Server 2008.
Редактировать (2): Да, спасибо за вопрос Тузо. Вот соединение с конечной точкой клиента:
<client>
<endpoint address="net.tcp://MyServerName:812/v1_0/ServiceB.svc/ServiceB" binding="netTcpBinding" contract="IServiceB" name="ServiceBEndpoint" >
</endpoint>
</client>
Редактировать (3):
Спасибо за вашу помощь, это направило меня ближе к направлению моей цели.
Я считаю, что моя проблема связана с авторизацией, а не с аутентификацией. Я не хочу аутентифицироваться как ServiceUserB, потому что это противоречит цели нашей модели безопасности.
Использование следующих работ:
<identity>
<serviceProviderName value="ServiceB/MyServerName:812" />
</identity>
Я дам вам правильный ответ, так как он был действительно правильным и помог мне добраться до пункта назначения.
Еще раз спасибо!