代码之家  ›  专栏  ›  技术社区  ›  Duncan Edwards

在Windows7中,当UAC关闭时,“以管理员身份运行”不会以管理员身份运行。

  •  1
  • Duncan Edwards  · 技术社区  · 15 年前

    当我在Windows 7上运行我的C Windows窗体应用程序时:

    • “用户”组中不属于管理员组的用户
    • 在关闭用户帐户控制的计算机上
    • 右键单击该exe并选择“以管理员身份运行”

    此代码:

    WindowsPrincipal pricipal = new WindowsPrincipal(WindowsIdentity.GetCurrent()); bool hasAdministrativeRight = pricipal.IsInRole(WindowsBuiltInRole.Administrator);

    仍然返回false。这是预期行为吗?

    1 回复  |  直到 15 年前
        1
  •  2
  •   Jesse C. Slicer    15 年前

    我非常确定,如果用户不是管理员,以管理员身份运行不会将该应用程序的用户上下文提升为管理员上下文。这将是一个可怕的安全漏洞,并最终围绕着强制执行的安全性运行,以保持用户的正常用户身份。