是否可以在 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 身份验证之后,只需向其他答案添加几点就可以帮助我弄清楚如何使其正常工作。
- 通过以下方式添加角色或功能Windows 服务器管理器:Web 服务器(IIS)-->Web 服务器-->安全-->URL 授权。
- 关闭然后重新打开IIS 管理器(如果您已打开),现在您将看到(在您网站的 IIS 部分下)授权规则.打开这个。
- 点击右侧面板:添加允许规则
- 在下面指定角色或用户组输入您需要的 AD 组的名称。例如。我的域\我的组并选择好的。
- 对您需要的组重复 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
仅向该域组授予该文件夹的读取权限也是可行的。