IIS, перемещающий виртуальный каталог в общий файловый ресурс, прерывает олицетворение вошедшего в систему пользователя
Вопрос
У нас есть экземпляр IIS6, на котором запущен веб-сайт интрасети с проверкой подлинности Windows и Impersonate = true, чтобы он использовал учетные данные NT, переданные браузером клиентов.AppPool настроен на запуск от имени пользователя сетевой службы:serviceAcctX, чтобы мы могли отменить олицетворение в редких случаях (для чтения или записи ресурса, к которому клиентский пользователь не имеет доступа)
Это отлично работает, когда источник виртуального каталога находится на локальном диске.Вошедший в систему пользователь проходит проверку подлинности, а содержимое страницы настраивается на основе параметров авторизации.
Наша команда по инфраструктуре пытается переместить источник виртуального каталога в общий файловый ресурс на удаленном сервере.Мы уже устранили проблему с изменением .Политика сетевой безопасности путем добавления полного доверия для этого конкретного пути к файловому ресурсу.Мы установили для свойства Connect As тот же serviceAcctX, тот же, от имени которого запущен AppPool.
Сайт запускается нормально.Однако пользователь-клиент не олицетворяется.Запрос обрабатывается с использованием учетных данных serviceAcctX по умолчанию, а не с учетными данными NT клиента, как раньше.
Есть ли способ заставить олицетворение клиента работать по-прежнему, как раньше, и по-прежнему иметь виртуальный каталог в общей файловой системе?Любые указания будут высоко оценены.
Решение
Я бы отнес это к категории Не очень хороших идей.
Существует ряд потенциальных проблем, которые возникают, и вы привносите много зависимой сложности.
Вместо этого я бы выбрал что-то более "автономное", чем это.Используйте репликацию файлов, чтобы синхронизировать файлы между вашим веб-сервером (-ами) и удаленным сервером.
Несмотря на некоторую сложность, это повышает живучесть вашего приложения.Это означает, что если удаленный сервер перезагрузится, выйдет из строя или возникнет проблема с сетью между ними, ваше приложение все еще будет функционировать.Кроме того, вы по-прежнему можете хранить файлы на удаленном сервере.
Другие советы
Возможно, вам придется установить флажок "доверять этому компьютеру для делегирования" в Active Directory для веб-сервера, чтобы передать токен пользователя.