IIS Windows身份验证401 UnAuthorized

时间:2018-01-30 12:41:06

标签: asp.net authentication iis windows-authentication

我想要使用Windows身份验证的子应用程序。 我希望当人第一次到达页面时,即使在域中也会弹出登录框。

当我关闭内核模式身份验证时,会弹出登录框,但在3次登录尝试后失败并显示错误401 Not Authorized。 如果我打开它,它甚至不会要求输入密码,我相信这是因为计算机位于服务器域并且凭据是自动传递的。

是否有可能为所有用户显示登录表单,包括域用户?

在下图中是我的服务器配置。

Windows Auth Configs

2 个答案:

答案 0 :(得分:0)

Windows身份验证通常由IIS处理。这是它的工作方式:

  1. 客户请求页面。
  2. IIS返回HTTP 401响应,其标题表示它接受Windows身份验证。
  3. 客户端的浏览器会自动使用用户凭据重新发送请求(只要站点受信任)。
  4. IIS验证用户并将凭据传递给应用程序。
  5. 这一切都旨在实现无缝。

    如果您希望始终提示用户输入凭据,则可以:

    1. 确保您的站点不受信任(不在Internet选项可信站点或Intranet站点中)。但你可能无法做到这一点。
    2. 不要使用Windows身份验证。使用Forms身份验证并创建一个登录页面,用户可以在其中输入凭据。但这意味着您必须在代码中自行验证针对Windows或Active Directory的凭据。
    3. 如果您使用#2,那么还要确保在您的网站上使用SSL,因为密码将以纯文本形式发送。

答案 1 :(得分:0)

您可以使用基本身份验证。它会提示用户输入凭据,一旦输入,它将为您提供无缝体验。

然而,基本身份验证的缺点是它以明文形式将密码发送到服务器。您可以使用SSL证书加密此信息。

相关问题