我一直无法让我的 ASP.NET 应用程序自动将用户登录到我正在构建的 Intranet 站点。无论谷歌搜索还是我应用的实验,IE7 总是显示一个登录框。 我在 Web.config 中设置了 Windows 身份验证模式,禁用了匿名访问并在 IIS 中配置了正确的默认域,但它仍然要求用户登录,更烦人的是,用户还需要提供域(DOMAIN\auser),这会导致非技术访问者出现问题。感谢 Zeus 的密码记忆功能。 我不是网络管理员,所以可能有关 Active Directory 的某些设置不正确,或者可能只是我遗漏了一些非常简单的东西。请注意,我不想冒充用户,我只需要知道 IPrincipal.Name 属性与我的用户数据库中的有效记录相匹配,从而对我的应用程序的用户进行身份验证。 为此,拥有一份包含 AD、ASP.NET 和 IIS 的所有配置要求的清单以这种方式一起工作作为调试参考并希望减少一些用户摩擦将非常有用。


听起来您已经涵盖了所有服务器端基础——也许是客户端问题?我假设您的用户在 IE7 中启用了集成身份验证?(工具 -> Internet 选项 -> 高级 -> 安全)。这是默认启用的。 另外,您的站点是否被 IE7 正确识别为位于本地 Intranet 区域中?IE7 默认仅允许在该区域自动登录,因此如果 IE 认为您的站点在 Internet 上,则会提示用户。我相信使用带点的主机名会导致 IE 将该站点放入 Internet 区域。
打开Active Directory Users and ComputersMMC 管理单元 从(左侧)展开computers部分TreeView 检查计算机是否已在您的域中注册。 此外,您必须使用该计算机上的域帐户登录,否则将显示该身份验证框。
在 IIS 中,启用匿名访问并允许 web.config 处理用户身份验证。