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


Answers:


18

根据您的IIS版本,以下内容应该可以工作。如果站点的根目录中没有一个(尽管应该在IIS7上),则需要添加一个web.config。下面将允许域管理员和拒绝域用户(很容易解释)。如果已经有配置节,请确保将配置节排成一行。

<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身份验证”,才能正常工作,但是我想您已经启用了此功能。


此功能适用于哪些IIS版本?
svandragt 2014年

14

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

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

9
请不要使用诸如“上方”或“下方”之类的引用,因为您无法知道某人看到答案的顺序。随着发布更多答案,随着时间的流逝,问题变得越来越严重。您应该改用所引用答案的发布者名称。
约翰·加迪尼尔

11

在其他答案上仅添加了几点,帮助我弄清楚了如何使基本的AD身份验证与IIS正常工作后如何使它工作。

  1. 通过Windows Server Manager添加角色或功能:Web服务器(IIS)-> Web服务器->安全-> URL授权。
  2. 关闭然后重新打开IIS管理器(如果已打开),现在您将看到(在您网站的IIS部分下)授权规则。打开这个。
  3. 单击右侧面板:添加允许规则
  4. 在“ 指定角色或用户组”下,键入所需的AD组的名称。例如。myDomain \ myGroup,然后选择确定
  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>

您还需要启用Windows身份验证(NTLM / Kerb)。否则,如果无法确定浏览器会话身份,基于角色的授权将如何工作?遵循指示并启用Windows身份验证后,此方法就可以了!
KFL

3

如果使用web.config授权规则不起作用(例如,因为运行了CGI脚本),则可以使用文件夹权限系统禁用继承,删除IIS用户(以便没有人具有读取访问权限),然后在其中添加安全组。具有读取权限。您还必须启用某种形式的身份验证方法(例如,Basic或Windows Integrated),以便识别访问者。


我喜欢这种方法,可能不适合每个人的需求,但与web.config中没有必要浪费时间


0

我知道这是一个非常老的问题,但这是我在测试环境中需要的。

这种方法对我有效,我弹出一个对话框即可登录,并且可以顺利登录。

我想知道如何配置它以使用SSO?如果登录的用户是安全组的成员,则请要求提供凭据。

我的IIS在Windows Server 2016 1607上并且网站是静态HTML。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.