2008-11-25 100 views
-1

带有SP1的Server 2008计算机,带有SP1的Visual Studio 2008。我的用户;开发人员,位于本地管理员组中。也就是说,我在Visual Studio中执行的一些操作(使用Web应用程序的属性窗口调用本地IIS中创建的虚拟目录)告诉我需要管理员权限。这比任何事都烦恼,我可以通过右键单击(以管理员身份运行)启动VS来执行操作 - 但是我很好奇,如果有人知道为什么发生这种情况?UAC/VS/W2K8:当我在管理员组中时,为什么VS不以管理员权限启动?

回答

2

这不是它如何在Vista上使用UAC。您的用户在管理员组中将意味着该用户可以执行管理任务。假设您有一个普通用户,并且该用户已登录并尝试执行管理任务。该用户将无法执行此类任务,因为它不在管理员组中。他需要提供管理员的用户名/密码才能执行此类任务。但是,如果您的用户是管理员,您将被授予执行该任务的权限。

你所说的基本上是Windows XP的工作原理,我们都知道如何解决所有的安全问题。在XP上,您是具有管理员权限的管理员,您可以在系统中执行任何您想要的操作。这不是很安全。在Vista中,你在管理员组中,但这并不意味着每个任务都应该/将以管理员权限运行。您是管理员,您可以在系统中更改任何您想要的内容,但默认情况下,系统将以较少的管理权限运行,以防止出现安全问题。您需要管理员权限,使用管理员权限运行应用程序。

它只是如何工作以及它应该如何工作。

这就是我看到它的方式:)

0

因为这就是它的工作方式,所以我猜...你的用户所在的小组无关紧要,重要的是如果应用程序使用管理员权限运行。如果是,那么你将能够执行管理操作,否则你不会。

所有使用UAC执行管理操作的应用程序(当您看到安全标志时),它们将a)以管理员权限重新启动应用程序或b)启动具有管理权限的进程以执行相应的操作。他们将永远不会授予您管理员权限,而无需启动他们的流程。

这就是它真正运作的方式。据我所知,这是它是如何工作的...

0

Nazgulled:您的第一条语句将指示进程在安全上下文中启动,而不是从当前用户继承的进程中启动。我的好奇心源于这个基本的理解,即一个过程与我的令牌一起运行。如果我的用户在管理员组中,那么它不会与管理员权限一起运行吗?也许我对此的基本理解是错误的 - 可能用户权限/安全性和进程安全上下文并不像我所了解的那样紧密相关......