2010-03-11 134 views
0

我似乎无法找到指示ASP.NET是否可以被设置(通过web.config中或可能machine.config中),以作为真正管理员机器启用UAC上运行的任何信息。可以将ASP.NET配置为在启用UAC时以管理员身份运行?

我的意思是,即使你设置它模拟一个管理员帐户,UAC将禁止该帐户的返回一个令牌组隐藏管理员角色充当管理员的能力。对于IsInRole等任何检查,运行帐户根本不是管理员。

所以......比方说,我想忽略所有的好建议,只是继续运行在Vista上的Web应用程序使用管理员权限。它甚至有可能吗?

替代品欢迎。 (核心原因需要管理员权限:停止或启动在该计算机上运行的服务)

回答

1

为核心的原因的其他建议:

使用消息队列或类似概念穿梭有关服务的信息,在不同的安全上下文之间来回切换/停止,而不是试图在ASP.NET下将这些东西硬连接在一起。

例如,

  1. 在你的ASP.NET非管理员帐户,写一些值文件或注册表(日志某种)包含什么服务停止或启动信息。

  2. 你的控制器服务运行作为一个真正的管理轮询写入的数据位置,当它看到信息,如下这些命令来启动和停止相应的服务。

您解决了解决方法而不是安全破解的问题,或者完全禁用UAC。

监测

更新:

  1. 相同的思路上面,但有些颠倒 - 这种情况下,该系统上运行的主/控制器服务写入日志文件。这是写关于其他服务的服务。
  2. 在网页上进行自动刷新。每次您的网页刷新时,都会监视记录更改的信息=关于已停止或已启动的服务的信息(可以保留自己的临时文件以进行更改检测)。刷新可能是META Refresh标记,或者是服务器的AJAX回调(更精细)。
  3. 网页发布说明像以前一样。

问题是如果该主/控制器服务停止并且没有任何报告(日志/消息停止传递)。做一个特殊的情况下为一个服务,如果可以的话,告诉的Windows,如果它停止重新启动它,或者重新启动机器,如果它不能启动该服务......

..顺便说一句,有您是否研究过Windows工具以自动查看服务并在发生故障时重新启动它们,而不是使用网页监视器,或者这对您的要求不可行?

+0

谢谢,这是一个好主意,不幸的是,网页是在那里监视服务是否已停止,并重新启动它们或安装它们,如果它们丢失。我意识到从网页上做这种工作是不正常的,但是在我解雇它之前我们想要确定它的可能性 - 显然更愿意以某种适当配置的方式来完成它:) – 2010-03-11 03:47:35

+0

添加更新并带有进一步的想法。 – 2010-03-11 04:09:59

相关问题