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

Конфигурация безопасности в IIS 8 не позволяет создавать папки в общих сетевых ресурсах с классическим ASP.

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

У меня есть три строки кода, написанные с помощью Classic ASP, которые предназначены для создания папки в общей сетевой папке. Он настроен как проверка подлинности Windows. Это дает мне классическую ошибку ASP, в которой говорится, что "доступ запрещен" в строке .CreateFolder.

Классический ASP

strFolderToCreate = "\\ServerABC\ShareName\Test1"
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
objFSO.CreateFolder(strFolderToCreate)

Он работает в следующих сценариях:

  1. Старый сервер был IIS6 на Windows Server 2003. Работает нормально
  2. Новый сервер - это Windows Server 2012 с IIS8. При настройке только на анонимный доступ (будет использоваться идентификатор пула приложений), работает нормально

Не работает с Windows Auth:

  1. При установке на проверку подлинности Windows это не работает.

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

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

Похоже на проблему с двойным прыжком. Что вы видите в журнале событий? В IIS 6 сетевая служба является учетной записью пула приложений по умолчанию. Вы пробовали настроить пул приложений как сетевой сервис в классическом режиме? Включен ли UAC (учетная запись пользователя)?