Назад | Перейти на главную страницу

Проверка подлинности Windows IIS ASP.Net не работает

У меня есть веб-приложение в интрасети.

Несмотря на то, что я установил «Windows Authentication = Enabled» (и все остальные аутентификации отключены), когда приложение пытается получить доступ к ресурсам, оно обрабатывается так, как если бы оно было запущено тем же пользователем, который запускает процесс пула приложений.

Здесь проблема, или я неправильно понимаю, как работает проверка подлинности Windows?
Если я сделал ошиблись, есть ли другой способ запустить приложение от имени клиента?

Удаленные ресурсы? Если вы используете Kerberos, есть несколько предостережений, чтобы он работал правильно. Чтобы компьютер IIS мог олицетворять пользователя при доступе к удаленным ресурсам, ему необходимо сгенерировать токен уровня делегирования для пользователя.

Если пул приложений работает под настраиваемым удостоверением (обычно в этих сценариях), учетная запись должна иметь возможность выполнять неограниченное делегирование. На вкладке «Делегирование учетной записи» в Active Directory - пользователи и компьютеры выберите «Доверять этому пользователю для делегирования любой службе (только Kerberos)».

Если вы не видите вкладку «Делегирование», это означает, что для учетной записи не назначено имя участника-службы. Это необходимо сначала исправить с помощью команды setspn.exe.

Учетная запись удостоверения IIS должна иметь привилегию «Действовать как часть операционной системы» (привилегия SetTCB) на сервере (ах) IIS.

Загрузите инструмент настройки делегирования и добавьте его как приложение на веб-сайт. Он позволяет вам перейти к URL-адресу приложения и создать отчет, который определяет, правильно ли настроено делегирование.

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

Сводка (переход протокола Kerberos и ограниченное делегирование)
http://technet.microsoft.com/en-us/library/cc772683%28v=ws.10%29.aspx

Как: использовать олицетворение и делегирование в ASP.NET 2.0
http://msdn.microsoft.com/en-us/library/ff647404.aspx

DelegConfig скачать
https://www.iis.net/community/default.aspx?tabid=34&g=6&i=1887

http://channel9.msdn.com/posts/Troubleshooting-Kerberos-Delegation-Using-DelegConfig

Вы должны добавить олицетворение в свой web.config:

<identity impersonate="true" />

http://support.microsoft.com/kb/306158