У меня есть служба WCF, которую я хочу использовать для доступа к SQL db (через Linq2SQL на данный момент), но надежная защита в живой среде IIS, похоже, не используется правильные верительные грамоты - я пытался следить за соответствующими сообщениями здесь, но, похоже, не могу их получить. Я был бы очень признателен, если кто-то мог заметить свою ошибку ...Проверка подлинности Windows в WCF и IIS для доступа к базе данных
в конфигурации Endpoint, я поставил его использовать BasicHttpBinding, со следующей конфигурацией
<basicHttpBinding>
<binding name="authHttpBinding">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows"/>
</security>
</binding>
</basicHttpBinding>
Я установил настройки System.Web для:
<authentication mode="Windows" />
<identity impersonate="true" />
на сервере IIS, я добавил новый AppPool, установить идентичность в ApplicationPoolIdentity и ManagedPipeLine к комплексному. В реальном веб-приложении, настроенном на мой новый AppPool, я установил проверку подлинности Windows на «Включено» и попробовал олицетворение ASP.Net как с включенными, так и с отключенными
Когда я пытаюсь позвонить в службу WCF, он запускается, но когда он делает фактический вызов хранимой процедуры через Linq2SQL (в базу данных на удаленном сервере с использованием Trusted Security), я получаю следующую ошибку: Ошибка входа в систему для пользователя 'домен \ machinename $' - имя машины со знаком доллара в конце
, который выглядит очень похож на то, что я не смог делегировать правильную идентификацию (я могу получить доступ к фактической базе данных через Management Studio.
такой же проблема. сообщите мне, если вы помните, как вы его решили. – morpheus