登录到 Office 365、 Azure 或 Intune 过程中,将联盟的用户反复提示输入凭据

针对 Windows XP 的支持已终止

Microsoft 已于 2014 年 4 月 8 日终止了针对 Windows XP 的支持。该更改已影响到您的软件更新和安全选项。 了解这一措施对于您的含义以及如何继续保持受保护状态。

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 2461628
重要:本文将向您显示如何帮助降低安全设置或关闭计算机上的安全功能的信息。您可以通过这些更改来解决特定的问题。我们建议在进行这些更改之前,充分考虑与在您的特定环境中实施此替代方法相关联的风险。如果实施该替代方法,请采取任何适当的附加措施来帮助保护您的计算机。
问题
当用户尝试登录到 Microsoft Office 365、 Microsoft Azure 和 Microsoft Intune 云服务期间验证到 活动目录的联合身份验证服务 (AD FS) 服务终结点时,联盟的用户是反复提示提供凭据。当用户取消时,用户会收到以下错误消息:
访问被拒绝
原因
症状表明 AD FS 使用 Windows 集成身份验证的问题。会出现此问题,如果一个或多个下列条件都为真:
  • 使用了错误的用户名或密码。
  • Internet Information Services (IIS) 的身份验证设置的设置不正确 AD FS 中。
  • 与用于运行 AD FS 联合服务器场中的服务帐户的服务主体名称 (SPN) 丢失或损坏。

    注意: 这 AD FS 联合服务器场作为实现时才会出现,并在独立配置中未实现。
  • 一个或多个以下由标识进行身份验证的扩展保护作为源的人为干预攻击:
    • 某些第三方 Internet 浏览器
    • 公司网络防火墙、 网络负载平衡器或其它网络设备进行互联网 IP 有效负载数据都可能会有可能重写的这样一种方式发布 AD FS 联合身份验证服务。这可能包括以下类型的数据:
      • 安全套接字层 (SSL) 桥接
      • SSL 卸载
      • 有状态数据包过滤

        有关详细信息,请参阅下面的 Microsoft 知识库文章:
        2510193受支持的方案,使用 AD FS 在 Office 365,Azure 或 Intune 单一登录设置
    • 监视或 SSL 解密应用程序安装或处于活动状态的客户端计算机上
  • 通过而不是通过执行 A 记录查找的 CNAME 记录查找执行了域域名系统 (DNS) 解析的 AD FS 服务终结点。
  • 配置 Windows Internet Explorer 不以传递给 AD FS 服务器的 Windows 集成身份验证。

在开始疑难解答之前

请检查用户名和密码不是导致问题的原因。
  • 确保正确的用户名称使用,并且在用户主体名称 (UPN) 格式。例如,确保 johnsmith@contoso.com。
  • 请确保使用了正确的密码。仔细检查使用了正确的密码,您可能需要重设用户密码。有关详细信息,请参阅下面的 Microsoft TechNet 文章:
  • 请确保该帐户不是锁定、 过期或使用指定的登录时间之外。有关详细信息,请参阅下面的 Microsoft TechNet 文章:

验证原因

要检查 Kerberos 问题会导致此问题,请暂时跳过 Kerberos 身份验证启用 AD FS 联合服务器场中的基于表单的身份验证。若要执行此操作,请按照下列步骤操作:

步骤 1: 编辑 web.config 文件 AD FS 联合服务器场中每台服务器上
  1. 在 Windows 资源管理器,然后查找 C:\inetpub\adfs\ls\ 文件夹中,并 web.config 文件的备份副本。
  2. 单击开始,单击所有程序,都单击附件记事本中,用鼠标右键单击,然后都单击以管理员身份运行
  3. 文件 菜单上,单击打开。在的文件名 框中,键入C:\inetpub\adfs\ls\web.config然后单击打开
  4. 在 web.config 文件中,请按照下列步骤操作:
    1. 找到包含的行, <authentication mode=""> </authentication>,然后将其更改为<authentication mode="Forms"></authentication>
    2. 查找开头部分<localAuthenticationTypes></localAuthenticationTypes>,然后更改部分,以便<add name="Forms"></add>该项列为前,如下:
      <localAuthenticationTypes>
      <add name="Forms" page="FormsSignIn.aspx"></add>
      <add name="Integrated" page="auth/integrated/"></add>
      <add name="TlsClient" page="auth/sslclient/"></add>
      <add name="Basic" page="auth/basic/"></add></localAuthenticationTypes>
  5. 文件 菜单上,单击保存
  6. 在提升的命令提示符下,使用iisreset命令通过重新启动 IIS。
步骤 2: 测试 AD FS 功能
  1. 已经连接上但身份验证到内部部署的客户端计算机在 AD DS 环境中,登录到云服务门户。

    而不是一种无缝的身份验证体验,基于表单的登录应该会出现。如果登录成功通过使用基于表单的身份验证,这证实 Kerberos 问题存在于 AD FS 联合身份验证服务。
  2. 恢复到以前的身份验证设置 AD FS 联合服务器场中每个服务器的配置,请按照"解决方案"一节中的步骤之前。若要还原 AD FS 联合服务器场中每个服务器的配置,请执行以下步骤:
    1. 在 Windows 资源管理器,找到 C:\inetpub\adfs\ls\ 文件夹,然后删除 web.config 文件。
    2. 移动的 web.config 文件中创建备份"步骤 1: 编辑 AD FS 联合服务器场中每个服务器的 web.config 文件"部分中的 C:\inetpub\adfs\ls\ 文件夹。
  3. 在提升的命令提示符下,使用iisreset命令通过重新启动 IIS。
  4. 检查 AD FS 身份验证行为恢复为原来的问题。
本地
要解决的 Kerberos 问题,限制了 AD FS 身份验证,请使用一个或多个下列方法,根据具体情况。

解决方法 1: 重置 AD FS 身份验证设置为默认值

如果 AD FS IIS 身份验证设置不正确,或 AD FS 联合身份验证服务和代理服务的 IIS 身份验证设置不匹配,一种解决方案是将所有的 IIS 身份验证设置重置为默认 AD FS 设置。

下表中列出的默认身份验证设置。
虚拟应用程序身份验证级别
默认 Web 站点/adf匿名身份验证
默认 Web 站点/adfs/1!匿名身份验证
Windows 身份验证
在每个 AD FS 联合服务器和每个 AD FS 联合服务器代理,使用下面的 Microsoft TechNet 文章中的信息重置为默认的身份验证设置的 AD FS IIS 虚拟应用程序:有关如何解决此错误的详细信息,请参阅下面的 Microsoft 知识库文章:
907273 在 IIS 中的 HTTP 401 错误疑难解答

871179 您将收到"HTTP 错误 401.1-未经授权: 由于凭据无效访问被拒绝"错误消息,当您尝试访问一个是 IIS 6.0 应用程序池的一部分的 Web 站点

本地 2: 更正 AD FS 联合服务器场 SPN

注意:只有在 AD FS 联合服务器场作为实现时,请尝试此解决方案。不要尝试在 AD FS 独立配置此分辨率。

如果丢失或损坏的 AD FS 服务帐户 AD FS 服务的 SPN,请解决此问题,请按照下列步骤在 AD FS 联合服务器场中的一台服务器上:
  1. 打开服务管理的管理单元。为此,单击开始,单击所有程序,都单击管理工具,然后都单击服务
  2. 双击AD FS (2.0) 的 Windows 服务
  3. Log On 选项卡上,请注意显示在此帐户中的服务帐户。
  4. 单击开始,单击所有程序,都单击附件,右键单击命令提示符下,然后都单击以管理员身份运行
  5. 键入 SetSPN – f – q 主机 /<AD fs="" service="" name=""></AD>然后按 enter 键。

    注意:在此命令中, <AD fs="" service="" name=""></AD> 表示完全限定的域名称 (FQDN) 服务名称的 AD FS 服务终结点。它不表示 AD FS 服务器的 Windows 主机名。
    • 如果结果是相关联的用户帐户,而不步骤 3 中记下一个命令,返回多个条目,则删除该关联。若要执行此操作,请运行以下命令:
      SetSPN-d 主机 /<AD fs="" service="" name=""></AD><bad_username></bad_username>
    • 如果多个项返回的命令,并且 SPN 使用相同的名称作为 Windows 中的 AD FS 服务器的计算机名称,则 AD FS 联合身份验证终结点名称不正确。AD FS 不得不再次实现。不得与现有的服务器的 Windows 主机名的 FQDN AD FS 联合服务器场。
    • 如果不存在该 SPN,请运行以下命令:
      SetSPN – 主机 /<AD fs="" service="" name=""></AD><username of="" service="" account=""></username>
      注意:在此命令中, <username of="" service="" account=""></username> 表示注意到第 3 步中的用户名。
  6. AD FS 联合服务器场中所有服务器上执行这些步骤后,请AD FS (2.0) Windows 服务在服务管理单元中,右键单击,然后单击重新启动

本地 3: 解决扩展保护为身份验证问题

若要解决此问题,如果用于身份验证的扩展保护可防止成功的身份验证,请使用以下任一建议方法:
  • 方法 1: 使用 Windows Internet Explorer 8 (或更高版本的程序) 进行登录。
  • 方法 2: 将 AD FS 服务发布到 Internet SSL 桥接、 SSL 卸载,或有状态数据包过滤不重写 IP 有效负载数据的方式。为此目的的最佳做法建议是使用 AD FS 代理服务器。
  • 方法 3: 关闭或禁用监视或 SSL 解密应用程序。
如果不能使用下列任一方法,要变通解决此问题,可以禁用被动和主动的客户端进行身份验证的扩展保护。

解决方法: 禁用扩展的保护为身份验证

警告不建议使用此过程,作为一个长期的解决方案。禁用用于身份验证的扩展保护弱无法检测到某些人为干预攻击集成 Windows 身份验证终结点上的 AD FS 服务安全配置文件。

注意:此替代方法应用的第三方应用程序功能时,也应为进行身份验证的扩展保护卸载修补程序的客户端操作系统上。有关修补程序的详细信息,请参阅下面的 Microsoft 知识库文章:
968389 用于身份验证的扩展的保护
对于被动客户端
若要禁用的被动客户端身份验证的扩展保护,请以下应用程序的 IIS 虚拟 AD FS 联合服务器场中所有服务器上执行下列步骤:
  • 默认 Web 站点/adf
  • 默认 Web 站点/adfs/1!
若要执行此操作,请按照下列步骤操作:
  1. 打开 IIS 管理器中,导航至您要管理的级别。有关打开 IIS 管理器中的信息,请参阅 打开 IIS 管理器 (IIS 7).
  2. 在功能视图中,双击身份验证
  3. 在身份验证页中,选择Windows 身份验证
  4. 操作窗格中,单击高级设置
  5. 当出现高级设置对话框时,关闭从选择扩展保护 下拉菜单。
活动客户端
若要禁用的活动客户端身份验证的扩展保护,请主 AD FS 服务器上执行下列步骤:
  1. 打开 Windows PowerShell。
  2. 运行下面的命令加载 Windows PowerShell 为 AD FS 管理单元:
    Add-PsSnapIn Microsoft.Adfs.Powershell
  3. 运行下面的命令以禁用用于身份验证的扩展保护:
    Set-ADFSProperties –ExtendedProtectionTokenCheck “None”

重新启用扩展的保护为身份验证

对于被动客户端
要重新启用被动客户端的身份验证的扩展保护,请以下应用程序的 IIS 虚拟 AD FS 联合服务器场中所有服务器上执行下列步骤:
  • 默认 Web 站点/adf
  • 默认 Web 站点/adfs/1!
若要执行此操作,请按照下列步骤操作:
  1. 打开 IIS 管理器中,导航至您要管理的级别。有关打开 IIS 管理器中的信息,请参阅 打开 IIS 管理器 (IIS 7).
  2. 在功能视图中,双击身份验证
  3. 在身份验证页中,选择Windows 身份验证
  4. 操作窗格中,单击高级设置
  5. 高级设置对话框出现时,选择接受扩展保护下拉列表菜单。
活动客户端
要重新启用的活动客户端身份验证的扩展保护,请主 AD FS 服务器上执行下列步骤:
  1. 打开 Windows PowerShell。
  2. 运行下面的命令加载 Windows PowerShell 为 AD FS 管理单元:
    Add-PsSnapIn Microsoft.Adfs.Powershell
  3. 运行以下命令来启用身份验证的扩展保护:
    Set-ADFSProperties –ExtendedProtectionTokenCheck “Allow”

本地 4: 替换 CNAME 记录使用 AD fs A 记录

使用 DNS 管理工具来替换每个 DNS 别名 (CNAME) 记录都具有用于联合身份验证服务使用 DNS 地址 (A) 记录。此外,请检查或分裂的 DNS 配置实现时考虑公司的 DNS 设置。有关如何管理 DNS 记录的详细信息,请访问以下 Microsoft TechNet 网站:

本地 5: 设置 Internet Explorer 作为 AD FS 客户端单一登录 (SSO)

有关如何为 AD FS 访问 Internet Explorer 设置的详细信息,请参阅下面的 Microsoft 知识库文章:
2535227意外地提示联合的用户可以输入他们的工作或学校帐户凭据
详细信息
若要帮助保护网络,AD FS,请使用进行身份验证的扩展保护。用于身份验证的扩展的保护有助于防止人为干预攻击,攻击者截取客户端的凭据并将它们转发到服务器。防范此类攻击可通过通道绑定的工作原理 (CBT)。可以要求、 允许,或建立与客户端通信时不需要服务器 CBT。

ExtendedProtectionTokenCheck AD FS 设置指定联合服务器支持的身份验证的扩展保护的级别。以下是此设置的可用值:
  • 要求: 服务器是完全强化。扩展的保护是强制执行。
  • 允许: 这是默认设置。服务器是部分加固。扩展的保护实施涉及更改以支持此功能的系统。
  • : 服务器是否容易受到攻击。不强制实施扩展的保护。
下表描述了身份验证的三个操作系统和浏览器,具体取决于 iis 的 AD FS 有不同的扩展保护选项的操作方式。

注意:Windows 客户端操作系统必须安装才能有效地使用扩展保护功能的特定更新程序。默认情况下,AD FS 中启用的功能。这些更新是可从下面的 Microsoft 知识库文章:
968389 用于身份验证的扩展的保护
默认情况下,Windows 7 包含相应的二进制文件以使用扩展保护。

Windows 7 (或适当地更新的版本的 Windows Vista 或 Windows xp)
设置要求允许 (默认值)
Windows 通讯
基础 (WCF) 客户端 (所有终结点)
正常工作正常工作正常工作
Internet Explorer 8and 更高版本正常工作正常工作正常工作
Firefox 3.6失败失败正常工作
4.0.4 safari失败失败正常工作
如果没有适当的更新的 Windows Vista
设置要求允许 (默认值)
WCF 客户端 (所有终结点)失败正常工作正常工作
Internet Explorer 8and 更高版本正常工作正常工作正常工作
Firefox 3.6失败正常工作 正常工作
4.0.4 safari失败正常工作 正常工作
Windows XP 时不适当的更新程序
设置要求允许 (默认值)
Internet Explorer 8and 更高版本正常工作正常工作正常工作
Firefox 3.6失败正常工作 正常工作
4.0.4 safari失败正常工作 正常工作
用于身份验证的扩展保护有关的详细信息,请参阅下面的 Microsoft 资源:
968389 用于身份验证的扩展的保护
有关设置 ADFSProperties 命令 的详细信息,请访问以下 Microsoft 网站:

仍需要帮助?请转到 Office 365 社区 网站或 Azure 的 活动目录(AD) 论坛 网站。

本文讨论的第三方产品是由与 Microsoft 无关的公司生产的。微软并不保证,暗示或其他有关的性能或可靠性的这些产品

警告:本文已自动翻译

属性

文章 ID:2461628 - 上次审阅时间:01/15/2016 08:19:00 - 修订版本: 28.0

Microsoft Azure Cloud Services, Microsoft Azure Active Directory, Microsoft Office 365, Microsoft Intune, CRM Online via Office 365 E Plans, Microsoft Azure Recovery Services, Microsoft Windows XP Professional Edition, Microsoft Windows XP Home Edition, Office 365 Identity Management

  • o365 o365a o365e o365022013 o365m kbmt KB2461628 KbMtzh
反馈