AD FS 疑难解答

应用到: Windows Server 2008, Windows Server 2008 R2

您遇到了什么问题?

设置问题

出现 Web 浏览器错误页,显示“此页无法显示”、“找不到服务器”或“DNS 错误”的消息。

以下情况可能会造成此问题:

  • 验证是否所有联合服务器都有颁发给默认网站的服务器身份验证证书。

  • 验证是否所有启用 AD FS 的 Web 服务器都有颁发给应用程序所在的网站的服务器身份验证证书。

  • 如果包含外部帐户伙伴联合身份验证服务代理,验证在安装期间是否使用了正确的联合身份验证服务主机名。

  • 如果使用的是基于 Windows NT 令牌的应用程序,请验证 Internet 信息服务 (IIS) 管理器管理单元中的联合身份验证服务统一资源定位器 (URL)(在 <computer name>\联合身份验证服务 URL 下)是否正确配置。

尝试连接到应用程序时,出现 Web 浏览器错误页,显示“找不到此页”或“HTTP 错误 404 – 找不到文件或目录”的消息。

以下配置问题可能会造成此问题:

  • 验证在 Internet 信息服务 (IIS) 中是否正确配置了 Web 应用程序。

  • 验证在 Active Directory 联合身份验证服务管理单元中是否正确指定了 Web 应用程序 URL。

  • 验证在启用 AD FS 的 Web 服务器上和联合身份验证服务中是否安装了 Microsoft ASP.NET。

  • 如果要连接到使用 ASP 的基于 Windows NT 令牌的应用程序,并在提供凭据后出现 404 错误,请验证是否启用了 IIS 中的 ASPClassic 处理程序并将它配置为处理 *.asp 页。还请验证是否为 IIS 安装了 ASP 功能。

设置基于 Windows NT 令牌的应用程序之后,我尝试连接到该应用程序,但是系统未提示我选择主机领域和登录凭据。

验证基于 Windows NT 令牌的应用程序的虚拟目录是否设置为使用 Ifsext.dll Internet 服务器应用程序编程接口 (ISAPI) 扩展。

日志记录问题

我希望在帐户联合服务器上启用日志记录。

帐户联合服务器使用身份验证包来映射客户端证书。要为帐户联合服务器身份验证包启用日志记录,请按顺序执行下列任务:

  1. 如果尚未安装,请安装 Active Directory 联合身份验证服务 (AD FS) 的联合身份验证服务组件。

  2. 设置以下注册表项:[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\WebSso\Parameters]

    "DebugLevel"=dword:ffffffff

我希望在启用 AD FS 的 Web 服务器上为 AD FS Web 代理身份验证包启用日志记录。

用户服务 (S4U) 不可用时,基于 Windows NT 令牌的应用程序使用 AD FS Web 代理身份验证包来生成令牌。令牌包含安全标识符 (SID) 时(比如使用资源组或“Windows 信任”选项的情况下),也会使用 AD FS Web 代理身份验证包。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\WebSso\Parameters]

"DebugLevel"=dword:ffffffff

我希望在启用 AD FS 的 Web 服务器上为 AD FS 基于 Windows 令牌的代理扩展启用日志记录。

AD FS 的基于 Windows 令牌的代理扩展处理 AD FS 所用的协议来对请求进行身份验证。

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADFS\WebServerAgent]

"DebugPrintLevel"=dword:ffffffff

我希望在启用 AD FS 的 Web 服务器上为 AD FS Web 代理身份验证服务启用日志记录。

AD FS Web 代理身份验证服务验证传入令牌和 Cookie。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IFSSVC\Parameters]

"DebugPrintLevel"=dword:ffffffff

我希望了解日志所在的位置。

这些文件位于 %systemroot%\SystemData\ADFS\logs 中。

AD LDS 问题

在 Active Directory 轻型目录服务 (AD LDS) 中创建了我的用户帐户并为信任策略配置了有关 AD LDS 存储的信息之后,联合身份验证服务无法验证 AD LDS 存储中的用户。

解决方案:使用 AD LDS ADSI 编辑器管理单元创建用户帐户时要小心。始终创建带密码的用户帐户。如果创建了没有密码的用户帐户,使用 ADSI 编辑器重新设置用户帐户的密码。最重要的是,检查用户帐户的 msDS-UserAccountDisabled 属性的值。此属性的值不应为 True。该值应为 FalseNot set。如果 msDS-UserAccountDisabled 属性的值为 True,表示用户帐户已禁用,联合身份验证服务无法验证此 AD LDS 用户帐户的凭据。

我已启用 AD LDS 帐户存储,但是联合身份验证服务无法检索任何声明。

如果联合身份验证服务作为本地系统运行,必须将承载联合身份验证服务的计算机的计算机帐户添加到 AD LDS 存储中的 Readers 组。

如果联合身份验证服务作为网络服务运行,必须将域帐户添加到 AD LDS 存储中的 Readers 组。

配置问题

以下各个部分说明 AD FS 配置的一些已知问题。

我接收到服务器错误。

错误:URL 为 https://... 的应用程序的令牌请求无法实现,因为该统一资源定位器 (URL) 未标识任何已知的信任应用程序

解决方案:如果应用程序 URL 未标识任何已知的应用程序,资源联合身份验证服务将返回此错误。确保应用程序已添加到联合身份验证服务的信任策略中。

对于声明感知应用程序,验证在应用程序的 Web.config 文件中是否正确键入了返回 URL,并且该 URL 是否与联合身份验证服务的信任策略中指定的应用程序 URL 匹配。

对于基于 Windows NT 令牌的应用程序,请验证是否在 Internet 信息服务 (IIS) 管理器管理单元(在 <Web site name>\身份验证\AD FS 的基于 Windows 令牌的代理下)中正确键入了返回 URL,并验证返回 URL 是否与联合身份验证服务的信任策略中的应用程序 URL 匹配。

我接收到验证错误。

错误:验证 Viewstate 媒体访问控制 (MAC) 失败。如果此应用程序由 Web 场或群集承载,确保 <machineKey> 配置指定了相同的 validationKey 和验证算法。

AutoGenerate 不能在群集中使用。运行当前的 Web 请求期间,发生无法处理的异常。有关该错误以及代码中出现该错误的位置的详细信息,请参阅堆栈跟踪。

或者

错误:运行当前的 Web 请求期间,生成无法处理的异常。有关异常的来源和位置的信息,可以使用以下异常堆栈跟踪来确定。

解决方案:在将形成场的承载联合身份验证服务、联合身份验证服务代理或 AD FS Web 代理的计算机上,使用文本编辑器将以下设置添加到 Web.config 文件中:

<system.web>

<machineKey>

<machineKey validationKey="specify key for the appropriate algorithm"

decryptionKey="specify key"

validation="SHA1|MD5|3DES"/>

或者

解决方案:在场中设置的承载联合身份验证服务、联合身份验证服务代理或 AD FS Web 代理的计算机上,将以下元素添加到 Web.config 文件的 <system.web> 部分:

<pages enableViewStateMac="false"/>

请参阅

社区附加资源

添加
显示: