将 IIS 站点的访问限制为 AD 组

将 IIS 站点的访问限制为 AD 组

是否可以在 IIS 中设置一个站点并只允许特定 AD 组的用户可以访问该站点?

答案1

以下内容应该有效,具体取决于您的 IIS 版本。如果您没有 web.config,则需要在站点的目录根中添加一个(尽管在 IIS7 上应该有)。以下内容将允许域管理员并拒绝域用户(相当不言自明)。如果您已经有一个部分,请确保将配置部分对齐,等等。

<configuration>
  <location path="MyPage.aspx/php/html">
      <system.web>
         <authorization>
            <allow users="DOMAIN\Domain Admins"/>
            <deny users="DOMAIN\Domain Users"/>
         </authorization>
      </system.web>
   </location>
</configuration>

显然,您需要在站点偏好设置的“身份验证”下启用“Windows 身份验证”才能使用此功能,但我假设您已经启用了此功能。

答案2

joshatkins 的回答在 IIS7 中不起作用。对于 IIS7,您需要使用 role 属性。此外,如果您想限制整个站点,则不需要 location 元素。

<authorization>
  <allow roles="DOMAIN\Domain Users"/>
  <deny users="*" />
</authorization>

答案3

在我使用 IIS 顺利完成基本 AD 身份验证之后,只需向其他答案添加几点就可以帮助我弄清楚如何使其正常工作。

  1. 通过以下方式添加角色或功能Windows 服务器管理器:Web 服务器(IIS)-->Web 服务器-->安全-->URL 授权。
  2. 关闭然后重新打开IIS 管理器(如果您已打开),现在您将看到(在您网站的 IIS 部分下)授权规则.打开这个。
  3. 点击右侧面板:添加允许规则
  4. 在下面指定角色或用户组输入您需要的 AD 组的名称。例如。我的域\我的组并选择好的
  5. 对您需要的组重复 4。

如果您只是想直接编辑配置文件,那么它看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        ...
        <security>
            <authorization>
                <remove users="*" roles="" verbs="" />
                <add accessType="Allow" roles="myDomain\myGroup01" />
                <add accessType="Allow" roles="myDomain\myGroup02" />
            </authorization>
        </security>
    </system.webServer>
</configuration>

答案4

仅向该域组授予该文件夹的读取权限也是可行的。

相关内容