Недавно я начал использовать пользовательский ServiceHostFactory, потому что я хочу использовать инъекцию зависимостей с WCF. Как мой клиент, так и служба запускаются из VS2010 на моем локальном компьютере, и служба использует сервер разработки ASP.NET. Почему у меня такая проблема? У меня был успех с wsHttpSecurity в прошлом, имея как клиент, так и сервис на моей локальной машине. Я действительно думаю, что единственная разница здесь заключается в использовании ServiceHostFactory. Я пробовал использовать атрибут userPrincipalName, но я даже не уверен, что я должен использовать для значения. Должно ли это имя MachineName \ username? Будет ли этот атрибут иметь значение? Я бы очень приветствовал любую помощь, которую вы можете предоставить.«Ошибка согласования интерфейса поставщика поддержки безопасности (SSPI)» при использовании ServiceHostFactory
1
A
ответ
4
UserNamePrincipal описывает учетные данные службы. Если вы установите UPN на какую-то учетную запись, вы утверждаете, что служба будет размещаться в процессе работы под этой учетной записью. Эта информация передается в WSDL клиенту. Когда клиент открывает канал службе, он сначала проверяет, что служба работает под заявленным счетом (некоторое подтверждение безопасности). Если исключение не выбрасывается, потому что сервис не аутентифицирован. Если вы запустите службу на сервере разработки, вы должны установить UPN в свою текущую учетную запись.
Это сработало. Благодарю. В чем разница между userPrincipalName и servicePrincipalName. Обычно ли люди должны устанавливать servicePrincipalName при использовании WCF через Интернет? – SideFX
Ни один из них не используется для связи через Интернет. Он работает только в том же домене Windows (или в доверенных доменах). Принцип работы пользователя - это просто имя пользователя. Описание проверки основного сервиса: http://technet.microsoft.com/en-us/library/cc961723.aspx Для проверки подлинности Kerberos необходим главный администратор. –
Несмотря на то, что вышеупомянутое решение сработало, оно работает только тогда, когда я подключен к сети моей компании. Когда я «офлайн», я получаю такое же исключение безопасности. – SideFX