IIS 7.5, ASP.NET, олицетворение и доступ к C: \ Windows \ Temp - PullRequest
9 голосов
/ 07 июня 2010

Сводка : для одного из наших веб-приложений требуется доступ на запись к C:\Windows\Temp. Однако независимо от того, насколько сильно я ослабил разрешение NTFS, procmon показывает ACCESS DENIED.

Справочная информация (которая может или не может иметь отношение к проблеме): Мы используем OLEDB для доступа к базе данных MS Access (которая находится вне C: \ Windows \ Temp). К сожалению, этому драйверу OLEDB требуется доступ на запись в каталог TEMP профиля пользователя (который при запуске в IIS 7.5 оказывается C: \ Windows \ Temp), в противном случае генерируется страшная исключительная ситуация «Unspecified Error». Подробнее см. KB 926939 . Я следовал инструкциям в статье базы знаний, но это не помогло.

Детали

Это вывод icacls C:\Windows\Temp. В целях отладки я дал полные права на Everyone.

C:\Windows\Temp NT AUTHORITY\SYSTEM:(OI)(CI)(F)
                CREATOR OWNER:(OI)(CI)(IO)(F)
                BUILTIN\IIS_IUSRS:(OI)(CI)(S,RD)
                BUILTIN\Users:(CI)(S,WD,AD,X)
                BUILTIN\Administrators:(OI)(CI)(F)
                Everyone:(OI)(CI)(F)

Однако, это скриншот procmon:

procmon screenshot

Desired Access: Generic Read/Write, Delete
Disposition:    Create
Options:        Synchronous IO Non-Alert, Non-Directory File, Random Access, Delete On Close, Open No Recall
Attributes:     NT
ShareMode:      None
AllocationSize: 0
Impersonating:  MYDOMAIN\myuser

PS: при входе в систему как MYDOMAIN\myuser я могу без проблем создавать файлы в C:\Windows\Temp с помощью проводника Windows.

РЕДАКТИРОВАТЬ : соответствующие части web.config:

 <authentication mode="Windows" />
 <identity impersonate="true" />
 <authorization>
   <deny users="?" />
   <allow users="*" />
 </authorization>

Аутентификация, кажется, работает, то есть System.Security.Principal.WindowsIdentity.GetCurrent().Name (что показано на моей пользовательской странице ошибок) возвращает MYDOMAIN\myuser.

1 Ответ

4 голосов
/ 15 июня 2010

Вы пробовали выполнить следующие шаги на этом: ошибки временного каталога loadUserProfile и IIS 7

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...