为什么IIS应用程序需要提升权限才能附加到?

时间:2012-10-10 13:46:49

标签: visual-studio-2010 iis

我遇到了这个问题:

Visual Studio requires elevated permissions in Windows 7

但是我对那里的任何答案都不满意所以我想知道是否有人可以扩展替代解决方案。

设置

  • dev box正在运行server 2008
  • Visual Studio 2010
  • IIS 7

为了附加到在IIS下运行的进程,我被告知我需要以管理员身份运行Visual Studio。如果我这样做,每当我编辑并将文件检入源代码控制时,其他用户(不是管理员)就无法编辑该文件,因为FILE现在需要提升权限才能编辑!导致大量头痛,所以基本上以管理员身份运行VS似乎不是一种选择。

有没有人有其他选择?

4 个答案:

答案 0 :(得分:2)

附加到在不同用户凭据或更高完整性级别下运行的进程需要SE_DEBUG权限,以管理员身份运行时获取哪个应用程序。您的IIS AppPool很可能未配置为在您的帐户下运行,因此需要提升权限。

从Windows Vista开始,对于未以管理员身份运行的进程(或更准确地说,未以高完整性级别运行),将禁用SE_DEBUG权限。

来自MSDN

  

可以为访问分配某些管理Windows权限   令牌只有至少一个高完整性级别。如果是访问令牌   诚信水平低于高,然后具体管理   不允许使用权限,并从访问令牌中删除权限。该   与高完整性级别相关联的管理权限是:

     

...

     

SE_DEBUG_PRIVILEGE
  ...

来自here

  

SeDebugPrivilege - 需要调试和调整内存   另一个帐户拥有的流程。用户权限:调试程序。

答案 1 :(得分:1)

如果您转到网站项目的属性,然后单击“网络”选项卡,然后选择“使用本地iis Web服务器”选项,则可以“正常”调试。这对我们没有提升权限。

答案 2 :(得分:1)

在这里游戏后期,但我发现如果您安装Remote Tools for Visual Studio并在本地安装,则可以附加到w3wp.exe,而无需在提升的权限下运行!

答案 3 :(得分:1)

  

授予此权限

     

1)从命令提示符运行GPEDIT.MSC。

     

2)导航到

     

本地计算机政策 - >计算机配置 - > Windows设置 - >   安全设置 - >本地政策 - >用户权利分配 - >调试   程序并向其添加用户。*

     

*您还应该注意如果您授予某人SeDebugPrivilege,您就放弃了农场

http://social.msdn.microsoft.com/Forums/en-US/0f394922-4d3d-4c00-8bc1-88aeeeedd843/how-to-add-a-user-to-debug-users-group?forum=netfxbcl

<强>更新

这也行不通。

另一种选择是,正如Book&#34; Professional Visual Basic 2012和.NET 4.5 Programming&#34;中所述:转到bin / debug文件夹并在调试器外部手动启动ProVB2012_Security.exe可执行文件。但在任何一种情况下,现在都应该提示您授予管理员权限......