Аутентификация / делегирование Windows WCF - PullRequest
0 голосов
/ 06 октября 2011

У меня проблемы с передачей учетных данных пользователя нашей БД Sql Server. Я почти уверен, что моя конфигурация для WCF настроена правильно, потому что все работает на моем локальном IIS, где есть только один переход, проблема заключается в том, чтобы заставить двойной переход работать в реальной среде.

Первой ошибкой, которую я получил, было исключение Sql при попытке войти в систему с помощью сетевой службы / анонимного входа. От чтения блогов я думаю, что сервис прибегал к NTLM, который не может выполнить двойной скачок.

Первый вопрос: правильно ли я считаю, что единственный способ выполнить двойной прыжок - это Kerberos?

Я переключил конфигурацию, чтобы не разрешать NTML, и получил сообщение об ошибке «Требование взаимной аутентификации не было выполнено удаленным сервером».

Я прочитал, что мне нужно настроить пользователя для делегирования. Это где я заблудился. Пользователь AppPool - NetworkService. Что мне нужно сделать, чтобы заставить делегирование работать на это? Должен ли я войти в контроллер домена и включить делегирование как-то? Что мне нужно добавить в конфигурацию клиента, чтобы сообщить службе о делегировании?

Я попытался добавить нового пользователя домена в активный каталог, разрешить делегирование для пользователя и создать пользователя для моего пула приложений, а также добавил раздел идентификации в конфигурации, чтобы указать этого пользователя, но получил эту ошибку: неверное имя целевого субъекта '.

Если возможно, я бы хотел сохранить сетевой сервис в качестве идентификатора пула приложений. Кто-нибудь знает, какие шаги мне нужно предпринять, чтобы получить эту работу?

...