Мне нужно найти конфигурацию IIS8, которая позволяет этому коду работать с включенной проверкой подлинности Windows. Нет анонимного доступа.
У меня есть три строки кода, написанные с помощью Classic ASP, которые предназначены для создания папки в общей сетевой папке. Он настроен как проверка подлинности Windows. Это дает мне классическую ошибку ASP, в которой говорится, что "доступ запрещен" в строке .CreateFolder.
Классический ASP
strFolderToCreate = "\\ServerABC\ShareName\Test1"
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
objFSO.CreateFolder(strFolderToCreate)
Он работает в следующих сценариях:
Не работает с Windows Auth:
Каждый пользователь в компании имеет доступ для создания чего-либо в этой папке как на уровне папки, так и на уровне общего доступа. Можно зайти в папку и создать папки нормально. Я пробовал много вещей, таких как классический конвейер, интегрированный конвейер, изменение идентификаторов пула приложений и т. Д.
Я не могу понять, как это работает с проверкой подлинности Windows. Это ситуация с двойным прыжком, когда пользователь веб-сайта аутентифицирован и пытается выполнить эту аутентификацию дважды?
Похоже на проблему с двойным прыжком. Что вы видите в журнале событий? В IIS 6 сетевая служба является учетной записью пула приложений по умолчанию. Вы пробовали настроить пул приложений как сетевой сервис в классическом режиме? Включен ли UAC (учетная запись пользователя)?