Identity impersonate не работает на новой ОС
Привет,
У меня очень запутанная ситуация, которую я изо всех сил пытаюсь разрешить.
У меня есть веб-приложение, размещенное в IIS на операционной системе Windows Server 2003 (SP2), работающей на ASP.NET V4. Он использует проверку подлинности Windows для идентификации пользователя и членства в группе объявлений, чтобы проверить их уровни доступа.
Часть функциональности приложения заключается в доступе к файловому хранилищу на отдельном сервере, также Windows Server 2003 (SP2).
Для управления доступом к файловому хранилищу веб-приложение использует олицетворение (<identity impersonate="true") с пользователем, имеющим административный доступ к серверу файлового хранилища.
Все это прекрасно работает и работает уже много лет.
Теперь я перемещаю приложение на новую машину Windows Server 2012 R2 с IIS 8.5 и использую ASP.NET v4.5.
Все функциональные возможности приложения работают одинаково, за исключением доступа к файловому хранилищу, где я получаю ошибку - доступ к пути '<document path>' запрещен.
Он ведет себя так, как будто учетные данные олицетворяемого пользователя, указанные в файле web.config, не передаются на сервер хранилища файлов.
Мы будем очень признательны за любую помощь и Совет.
Что я уже пробовал:
Публикация одной и той же сборки приложения, в то же время .сетевая версия, как для старых, так и для новых серверов. Можно получить доступ к файлам со старого сервера публикации, но не на новом сервере публикации.
Сравнение конфигураций IIS на старых и новых серверах. Версии IIS довольно разные, но я постарался настроить их как можно ближе.
Запуск нового пула приложений IIS сервера в качестве олицетворенного пользователя.
Установка уровня олицетворения по умолчанию (в службах компонентов) для олицетворения
Отключение Контроля Учетных Записей Пользователей
Запуск веб-приложения, пула приложений IIS и олицетворение пользователя как пользователя с правами администратора на файловом сервере.
Удаление олицетворения из web.config и IIS config и запуск приложения от имени пользователя с правами администратора на файловом сервере.
phil.o
А вы на него смотрели Проблема с правами администратора Windows 2008 R2[^]?
Uberbob77
Привет, Фил, это выглядело очень многообещающе, но, боюсь, ничего не вышло.
Я последовал инструкциям по ссылке и установил уровень олицетворения по умолчанию с Identify на Impersonate, а затем повторно загрузил сервер. Но результат все тот же.
Но спасибо, что попытались помочь.
phil.o
Я сопереживаю, так как был там, и это была Пита, чтобы заставить все снова работать.
К сожалению, это было почти 10 лет назад, и я не могу вспомнить ни точного вопроса, ни решения, которое я тогда нашел.
Единственное, что я едва помню, это то, что это было как-то связано с алгоритмом подписи по умолчанию для защищенных коммуникаций (алгоритм хэширования, так), который был изменен начиная с 2008 R2. Нам пришлось установить исправление на всех серверах и рабочих станциях, чтобы они могли аутентифицироваться на новом сервере 2008 R2.
Мне жаль, что я не могу быть более полезным. Любезно.
Richard Deeming
Правильно ли вы настроили делегирование?
https://forums.asp.net/t/1835569.aspx?Impersonation+не+работает+на+IIS+7+[^]
Как настроить приложение ASP.NET заявка на сценарий делегирования[^]