Сводка: Одно из наших веб-приложений требует доступа для записи к C:\Windows\Temp
. Однако, неважно, насколько я ослабляю разрешение NTFS, procmon шоу ACCESS DENIED
.
Фон (который мог бы или не мог бы быть важен для проблемы): Мы используем OLEDB для доступа к базе данных Access MS (который расположен за пределами C:\Windows\Temp). К сожалению, этот драйвер OLEDB требует доступа для записи к каталогу TEMP профиля пользователя (который, оказывается, C:\Windows\Temp when running under IIS 7.5), иначе страшная "Неустановленная ошибка", OleDbException брошен. Посмотрите КБ 926939 для деталей. Я выполнил шаги в статье KB, но она не помогает.
Подробнее:
Это - вывод 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:
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 Explorer без любых проблем.
Править: Соответствующие части web.config:
Аутентификация, кажется, работает, т.е. System.Security.Principal.WindowsIdentity.GetCurrent().Name
(который показывают на моей пользовательской ошибочной странице), возвраты MYDOMAIN\myuser
.
Пробовали ли вы следовать шагам на этом: loadUserProfile и IIS 7 temporary directory failures