33

我一直无法让我的 ASP.NET 应用程序自动将用户登录到我正在构建的 Intranet 站点。无论是谷歌搜索还是我应用的实验,IE7 总是显示一个登录框。

我在 Web.config 中设置了 Windows 身份验证模式,禁用匿名访问并在 IIS 中配置了正确的默认域,但它仍然要求用户登录,更烦人的是,用户也需要提供域(DOMAIN\auser ),这会导致非技术访问者出现问题。感谢 Zeus 的密码记忆功能。

我不是网络管理员,因此有关 Active Directory 的某些内容可能设置不正确,或者可能只是我遗漏了一些非常简单的内容。请注意,我不想模拟用户,我只需要知道 IPrincipal.Name 属性与我的用户数据库中的有效记录相匹配,从而验证用户对我的应用程序的身份。

为此,拥有一份以这种方式协同工作的 AD、ASP.NET 和 IIS 的所有配置要求的清单将非常有用,作为调试的参考,并有望减少一些用户摩擦。

4

3 回答 3

20

听起来您已经涵盖了所有服务器端基础——也许这是一个客户端问题?我假设您的用户在 IE7 中启用了集成身份验证?(工具 -> Internet 选项 -> 高级 -> 安全)。这是默认启用的。

另外,您的站点是否被 IE7 正确识别为在本地 Intranet 区域中?IE7 默认只允许在该区域自动登录,因此如果 IE 认为您的站点在 Internet 上,则会提示用户。我相信使用带有点的主机名会导致 IE 将站点放入 Internet 区域。

于 2008-08-03T15:24:38.290 回答
1
  1. 打开Active Directory Users and ComputersMMC 管理单元

  2. computersTreeView(左侧)展开部分

  3. 检查计算机是否已在您的域中注册。

此外,您必须使用该计算机上的域帐户登录,否则将显示该身份验证框。

于 2008-09-18T07:43:15.787 回答
0

在 IIS 中,启用匿名访问并允许 web.config 处理用户身份验证。

于 2008-08-05T18:01:12.640 回答