【发布时间】:2011-12-18 18:31:12
【问题描述】:
我有一个将文件保存在远程位置的 http 处理程序。为此,我需要特定权限,并且将整个应用程序配置为使用模拟(web.config 设置)
这适用于所有页面(其他一些页面也需要相同的特定权限),但模拟不适用于 http 处理程序,它根本无法模拟。
这在 IIS6 上完美运行,但在 IIS7 上却不行。应用池模式很经典
【问题讨论】:
-
@Marco Miltenburg:设计是什么?在发布此问题之前,我已经阅读了该博客,它只说模拟不适用于 http 处理程序,但他没有说明原因。我想知道原因,所以也许我可以用配置来修复,而不必添加代码。谢谢!
-
对不起,我对它的设计评论可能为时过早。我错过了您说您的应用程序池处于经典模式的部分。尽管在 IIS 7 中,关于授权、模拟和线程身份,很多方面都发生了变化。尽管在经典模式下 IIS 的行为应该与 IIS 6 相同,但如果存在细微差别,我不会感到惊讶。我无法找到有关差异的任何详细信息,但我在“Professional ASP.NET 3.5 Security, Membership, and Role Management with C# and VB”一书中找到了一个相当复杂的表格,说明它如何在 IIS 7 集成模式下工作。影响它的因素很多。
标签: asp.net iis-7 impersonation