Я пытаюсь заставить мое веб-приложение работать полностью как пользователь AppPool (Domain \ UserForApp), и я правильно установил настройку в IIS, и все работает нормально и System.Security.Principal.WindowsIdentity.GetCurrent (). Name"возвращает правильный" Домен \ UserForApp ".
Однако, когда я пытался ограничить разрешения моего каталога веб-приложений необходимыми пустыми руками:
- СИСТЕМА (полный доступ)
- Me (полный доступ)
- Admininstrators (полный доступ)
- UserForApp (чтение)
Я больше не могу загружать статические файлы.Поэтому я скачал Process Monitor, чтобы выяснить, почему и всякий раз, когда он пытается получить доступ к статическому файлу, я получаю следующую ошибку:
ACCESS DENIED:
Desired Access: Generic Read
Disposition: Open
Options: Sequential Access, No Buffering
Attributes: RE
ShareMode: Read, Write, Delete
AllocationSize: n/a
Impersonating: NT AUTHORITY\IUSR
И, как вы видите из приведенного выше, IUSR не имеет разрешений, так чтоправильно, но я просто не понимаю, почему это все равно пытается выдать себя за другого.В моем файле web.config у меня есть:
<location path="" overrideMode="Deny">
<system.web>
<identity impersonate="false" />
</system.web>
</location>
только для того, чтобы никто не включал олицетворение, но это не имело никакого эффекта.
Это не работает как в классическом, так и в конвейерном режиме.режим, но ошибка немного отличается.В классическом случае при просмотре изображений отображается просто страница HTTP Error 401.3 - Unauthorized
, а при использовании Pipelined перенаправляется на сайт входа.