Hei*_*nzi 9 asp.net permissions impersonation iis-7 windows-7
简介:我们的一个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)
Run Code Online (Sandbox Code Playgroud)
但是,这是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
Run Code Online (Sandbox Code Playgroud)
PS:登录时MYDOMAIN\myuser,我可以C:\Windows\Temp使用Windows资源管理器创建文件,没有任何问题.
编辑:web.config的相关部分:
<authentication mode="Windows" />
<identity impersonate="true" />
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
Run Code Online (Sandbox Code Playgroud)
身份验证似乎有效,即System.Security.Principal.WindowsIdentity.GetCurrent().Name(在我的自定义错误页面上显示)返回MYDOMAIN\myuser.
| 归档时间: |
|
| 查看次数: |
9073 次 |
| 最近记录: |