52

这适用于不属于 AD 域的 Windows Server 2008 上的 IIS 7。我想用密码保护一个网站,人们必须输入用户名/密码(例如 Windows 帐户)才能查看该网站。然后,网站将使用自己的身份验证方法(表单)来处理用户帐户并决定是否显示会员特定页面等。

使用 IIS6,我们只是禁用了匿名访问并启用了集成的 Windows 身份验证。IIS7 的行为不同,当我输入 Windows 用户名/密码来查看该站点时,该站点正常运行,但重定向到登录页面。一旦我登录,该网站就会自然而然地运行。我需要能够在不使用网站凭据登录的情况下浏览网站。

我认为启用匿名访问在这里没有意义,因为我希望对网站的访问受到密码保护(当您第一次导航到 url 时弹出用户名/密码对话框)。

任何帮助表示赞赏!

4

5 回答 5

69

要在 Windows 7 机器上启用 IIS7 上的 Windows 身份验证:

  • 转到控制面板

  • 单击程序>>程序和功能

  • 从左侧选择“打开或关闭 Windows 功能”。

  • 展开 Internet 信息服务 >> 万维网服务 >> 安全

  • 选择 Windows 身份验证并单击确定。

  • 重置 IIS 并立即签入 IIS 以进行 Windows 身份验证。

享受

于 2010-06-07T06:39:21.637 回答
10

IIS7 集成模式不支持两阶段身份验证。身份验证现在是模块化的,因此不是 IIS 执行身份验证,然后 asp.net 执行身份验证,而是同时发生。

您可以:

  1. 将应用程序域更改为 IIS6 经典模式...
  2. 按照这个示例旧链接),了解如何使用 IIS7 集成模式伪造两阶段身份验证。
  3. 使用Helicon Apemod_auth 提供基本身份验证
于 2009-01-13T02:13:30.130 回答
6

在 Windows Server 2008 中为 Windows 身份验证配置 IIS7

请参阅此链接:

http://www.iis.net/ConfigReference/system.webServer/security/authentication/windowsAuthentication

享受这篇文章:-)

于 2010-07-15T06:26:18.983 回答
0

那么您希望他们获得 IE 密码挑战框,还是应该将他们引导至您的登录页面并在那里输入他们的信息?如果是第二个选项,那么您至少应该启用匿名访问您的登录页面,因为该站点尚不知道他们是谁。

如果您想要第一个选项,那么他们被转发到的登录页面将需要读取当前登录的用户并基于此采取行动,因为他们必须正确地进行身份验证才能达到这一点。

于 2009-01-12T19:29:52.410 回答
-1

Stack 上其他地方有另一个主题类似的主题,我遇到的最佳解决方案是使用Helicon Ape的免费版本

安装完成后,按照标题为“HTTP 身份验证和授权”页面上的步骤操作

于 2011-01-19T23:10:50.390 回答