【发布时间】:2017-02-06 11:44:17
【问题描述】:
我有一个使用 Windows 身份验证和模拟的 ASP.NET Web 应用程序。这是 web.config 的相关部分:
<authentication mode="Windows"/>
<identity impersonate="true"/>
应用程序代码现在尝试访问经过身份验证的用户有权访问的文件 (XDocument.Load)。这工作得非常好,直到今天我们开始收到以下异常:
System.UnauthorizedAccessException: Access to the path '...' is denied.
(很明显,管理员告诉我“服务器上没有任何变化”。)
我能够通过授予文件的应用程序池身份权限来“解决”问题。但是,我不明白为什么这解决了问题。
我的问题:如果使用模拟,为什么应用程序池身份仍然需要访问所使用的文件?模拟用户和应用程序池身份都需要访问权限吗?还是只有应用程序池标识?如果是后者,冒充的意义何在?
【问题讨论】:
标签: c# asp.net iis impersonation