首页 文章

使用Microsoft.Web.Administration所需的权限

提问于
浏览
2

我正在尝试使用IIS 7管理API,但遇到了安全问题 . 我的应用程序是在.NET 4(集成管道)上运行的常规ASP.NET站点 . 该计算机是Windows 7 x64(默认情况下,应用程序池在ApplicationPoolIdentity,x64下运行) . 该站点使用以下设置:

<identity impersonate="true" />
    <authentication mode="Windows" />
    <customErrors mode="Off" />
    <authorization>
        <deny users="?" />
    </authorization>

我的网站尝试通过IIS管理API(在localhost上)读取其他网站的详细信息 . 我以本地管理员的身份登录 . 在IE中我尝试打开我的页面,但得到这个:

Site 'mysite' at 'myhost' is unknown.System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) 
at Microsoft.Web.Administration.Interop.IAppHostProperty.get_Value() 
at Microsoft.Web.Administration.ConfigurationElement.GetPropertyValue(IAppHostProperty property) 
at Microsoft.Web.Administration.Site.get_State()

我不确定代码是否在我的帐户的模拟上下文中运行(可以看到这是调试器正在观看 System.Threading.Thread.CurrentPrincipal ) . 我究竟做错了什么?

附:

UAC已开启,但我相信这并不重要 . 检查C:\ Windows \ system32 \ inetsrv \ config文件夹上的NTFS权限 - 管理员的完全访问权限 .

2 回答

  • 0

    UAC确实是所有邪恶的根源 . 模仿行为在其开启时会被破坏 . 这里有些东西真的过于复杂:(

    启用UAC并模拟当前安全上下文时,主体报告他不是本地Administrators组的成员 . 但他是 . 它与交互式/非交互式会话有关 .

  • 1

    尝试将临时目录设置为web.config到具有完全权限的文件夹 .

    <compilation tempDirectory="c:\temp" ... ></compilation>
    

相关问题