1

我有一个 ASP.NET 应用程序配置web.config为使用这样的模拟:

<system.web>
    <identity impersonate="true" />
    <authentication mode="Windows" />
</system.web>

应用程序需要执行某些管理任务。如果我以 user 身份登录到应用程序,这可以正常administrator工作,但在以 .userA

我怀疑这里发生的事情是介入UAC。虽然 ASP.NET 应用程序正在模拟userA,但在执行需要提升的操作时,它会失败,而运行administrator正常,因为该用户开始提升(如果在 Windows 中以交互方式执行操作)。

顺便说一句,我不需要网络级别的模拟,所以我不相信我应该需要delegation?

4

1 回答 1

0

我们公司在内部申请和 UAC 上搞砸了两个多星期。我们对这个问题采取了两种方法。

首先,我们创建了一个安全组和安全策略,创建了一个用户并分配了 Web 应用程序池以该用户身份运行。这解决了我们的一些问题。

当这并没有解决我们所有的问题,并且我们无法修复应用程序以使用我们可以授予它的权限时......我们关闭了该服务器上的 UAC。到目前为止,这是一个巨大的安全风险,在某些地方这是不可接受的。但是,我们可以获得一些需要完成的任务所需的管理员令牌。

我怀疑是否有可能让应用程序池向桌面用户提供 UAC 身份验证框,因为提供了沙盒服务。如果适用,您可能希望与相关的系统管理员/IT 部门讨论不同方法的风险和好处。

于 2013-05-13T01:53:35.660 回答