Windows Server 2008 上使用域帐户进行基本身份验证

Windows Server 2008 上使用域帐户进行基本身份验证

Windows Server 2003 从未遇到过的一个非常奇怪的问题:在配置基本身份验证以限制对 IIS7 中的特定目录的访问时,我完成了以下操作:

  1. 在 IIS7 中启用基本身份验证并禁用特定目录的匿名身份验证
  2. 创建了三个 Active Directory 组:site.com Staff、site.com Members 和 site.com Something。
  3. 创建多个帐户并添加到适用组。
  4. 为 IIS7 站点的三个区域赋予特定域组的读取和执行 NTFS 权限

但是,这三个组中任何一个域帐户登录后都可以访问网站的其他三个区域。真正锁定目录的唯一方法是不仅向相应组提供读取权限,还拒绝不应有访问权限的组访问。这毫无意义,除非域用户组的成员当然是本地用户组的一部分,并且您无法拒绝对相关目录的访问。

我遗漏了什么明显的东西?

更新:很尴尬地说,这是一个非常明显的问题,与 Win2003 和 Win2008 无关。

对于所有适用的目录/文件:

  1. 在 IIS 中启用基本身份验证,并删除匿名。
  2. 删除继承权限(使用副本使事情变得简单)
  3. 删除本地用户组访问权限
  4. 授予适用的域组读取访问权限
  5. 添加网络服务读取权限(这是 IIS7 所特有的,因为它有集成的管道)

如您所见,Win2003 与 Win2008 之间唯一的问题是授予网络服务对相关资源的访问权限。

答案1

解决权限问题可能是一个挑战,但最终我的想法是这样的:

无论用户是否属于您创建的组,他们都可以访问目录,因为用户是本地用户组的成员,该组有权访问目录。大多数情况下,权限是累积的,除明确定义权限(允许或拒绝)的情况外,限制最少的权限适用。为了实现所需的限制,您有两种选择:

  1. 按照您已经做过的操作,对您不想访问的组定义明确的拒绝目录。

  2. 从目录中删除权限继承,从目录的权限中删除本地用户组,​​并在目录中为您想要访问的组定义明确的允许。

相关内容