我有一个简单的单页内部应用程序,刚刚将其移至 IIS7.5。启用基本身份验证并禁用匿名身份验证后,只有本地用户可以进行身份验证。
我迄今所做的:
- 启用基本身份验证并禁用匿名身份验证。
- 在 Active Directory 中创建具有帐户的组。
- 将 AD 组添加到本地用户组。
- 已将网络服务帐户添加到目录。
- 创建本地测试用户。——有效。
- 从所有组中删除本地测试用户。——仍然有效。
- 我使用 DOMAIN\USER 作为用户名。
我肯定忽略了某些简单的东西。
答案1
要为页面启用 Windows 身份验证,通常需要:
- 在 AD 中创建组
向该组添加用户
在 IIS 管理器中,打开要保护的目录
- 编辑该目录的身份验证设置
- 通常情况下,它们是:
- 启用 Windows 身份验证
- 禁用匿名以避免干扰文件系统权限太多了
此时,文件系统权限将用于控制经过身份验证的用户是否有权访问该站点。因此,您只需检查文件系统权限是否正常:
- 右键单击并浏览相关网站
- 编辑您想要验证的文件的安全设置(如果不是整个文件夹)
- 确保匿名用户被删除对文件的读取权限
- 确保您选择的组做具有文件读取权限
- 确保应用程序池标识具有对所有内容的读取权限
在您的问题中,您谈到了集成 Windows 身份验证,但随后描述了启用基本身份验证 - 这不是一回事;从客户端(至少对于 IE 而言),Basic 始终提示输入用户名和密码,并且以不安全的方式传输;Windows 身份验证更安全,并且不会提示身份验证(需要注意的是,包括 URL 中的点和本地 Intranet 区域划分)。