简介:我们的Web应用程序之一需要对C:\Windows\Temp
的写权限。但是,无论我减弱NTFS权限多少,procmon都会显示ACCESS DENIED
。
背景(可能与该问题无关或无关):我们正在使用OLEDB访问MS Access数据库(位于C:\Windows\Temp外部)。不幸的是,此OLEDB驱动程序要求对用户配置文件的TEMP目录(在IIS 7.5下运行时碰巧为C:\Windows\Temp)具有写访问权,否则将引发可怕的“未指定错误” OleDbException。有关详细信息,请参见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的屏幕截图:
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
身份登录时,我可以使用Windows资源管理器以C:\Windows\Temp
创建文件,而不会出现任何问题。编辑:web.config的相关部分:
<authentication mode="Windows" />
<identity impersonate="true" />
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
身份验证似乎可行,即
System.Security.Principal.WindowsIdentity.GetCurrent().Name
(显示在我的自定义错误页面上)返回MYDOMAIN\myuser
。
最佳答案
您是否尝试过执行以下步骤:
loadUserProfile and IIS 7 temporary directory failures
关于asp.net - IIS 7.5,ASP.NET,模拟和对C :\Windows\Temp的访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2989743/