具有提升的ASP.NET模拟

时间:2013-05-13 01:35:13

标签: asp.net uac impersonation

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

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

应用程序需要执行某些管理任务。如果我以用户administrator登录到应用程序,但是在以userA登录时无效(仅限管理系统资源访问失败),这样可以正常工作em> 对系统具有管理访问权限。

我怀疑这里发生了什么UAC正在踩踏。虽然ASP.NET应用模拟了userA,但是当涉及到执行需要提升的事情时,它会失败,而运行为{{1}很好,因为该用户开始提升(如果在Windows中以交互方式执行操作,则永远不会获得UAC提示)。

顺便说一句,我不需要网络级模拟,所以我认为我不应该administrator

1 个答案:

答案 0 :(得分:0)

我们公司与内部应用程序和UAC混淆了两个多星期。我们采取了两种方法解决这个问题。

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

如果我们没有解决所有问题,而且我们无法修复应用程序以使用我们可以提供的权限...我们关闭了该服务器上的UAC。这是迄今为止巨大的安全风险,有些地方不可接受。但是,我们可以获得我们需要完成的一些任务所需的管理员令牌。

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