Я пытаюсь настроить сквозную проверку подлинности Windows для приложения .NET.
Он работает в классическом режиме на IIS7 и под Аутентификация настройки в IIS у меня есть Проверка подлинности Windows включено, а все остальное отключено (включая анонимную аутентификацию).
Для начала в web.config у меня просто есть:
<authentication mode="Windows" />
<authorization>
<allow users="*" />
</authorization>
Насколько я понимаю, это означает, что процесс веб-сайта должен выполняться как удостоверение пула приложений. Пользователи входят в систему, используя свою учетную запись Windows.
Однако я обнаружил, что только пользователи с доступом для чтения к папке веб-сайта имеют доступ к веб-сайту. Почему это? Я думал, что, поскольку процесс использует удостоверение пула приложений, не имеет значения, какие учетные данные есть у пользователя.
Я что-то делаю не так или что-то не понимаю?
Любой код, запущенный в пуле приложений, будет запускаться с использованием этого удостоверения, а не аутентифицированного пользователя, но сервер IIS будет использовать пройденную аутентификацию, чтобы убедиться, что пользователь действительно имеет доступ к файлам, обслуживаемым из каталога, и установить право собственности на новые файлы. созданный этим пользователем.
Любой доступ к внутренней базе данных, например, Однако код .net будет находиться в пуле приложений.