0

我有一个在服务器上运行的 ASP.NET 应用程序。我想允许管理员组的所有成员 - 可以是本地用户,也可以是添加到管理员组的域组成员。Administrators 组具有本地用户,以及 DOMAIN\Domain Admins 和 DOMAIN\Local Admins 等域组。下面是我在 web.config 中用于授权的代码。

    <authorization>
      <allow roles="BUILTIN\Administrators" />
      <deny users="*" />
    </authorization>

我有域帐户,它是 DOMAIN\Domain Admins 的成员。当我 RDP(使用相同的域帐户)进入服务器(运行 ASP.NET 的地方)并尝试打开网站时,我无法登录。但是,当我从远程机器(使用相同的域帐户)访问 ASP.NET 网站时,我可以登录 - 为什么?

服务器正在使用 Windows Server 2012。

4

1 回答 1

2

我通过在 web.config 中使用正确的授权 xml 定义解决了这个问题:

<authorization>
  <allow roles="Administrators" />
  <deny users="?" />
</authorization>

应避免使用 BUILTIN\Administrators,因为它不能准确地代表本地管理员组 - 它的权限比管理员略高。另外,我拒绝所有用户,但应该只拒绝匿名用户。

于 2013-07-23T23:22:50.470 回答