企业单一 Sign-On 疑难解答

本主题提供有关使用企业单一登录 (SSO) 时所遇到的常见问题的信息。

开始对 SSO 环境进行故障排除时,逐一排查下表中的各项可能会很有用,以确保所有组件按预期正常工作:

问题 注释
应用程序事件日志中是否有来自 SSO 系统的任何内容? 事件日志中的 SSO 消息可帮助您缩小 SSO 系统中问题的范围。 SSO 系统中消息的源为 ENTSSO。 重要: 许多 SSO 错误和事件在事件日志中显示为“警告”,而不是“错误”。 当问题影响 SSO 服务的单个客户端时,SSO 系统生成警告,而问题影响整个 SSO 系统(所有客户端)时,则生成错误。
是否正确安装了SSO 服务?

SSO 服务是否按预期启动?

SSO 服务在哪个服务帐户下运行?
确保 SSO 服务正确安装,并且服务帐户是 SSO 管理员组的成员。
SSO 数据库位于何处? 使用命令行 ssoconfig -showdb。 有关此命令的详细信息,请参阅 如何显示 SSO 数据库信息
正在使用哪个 SSO 服务器? 使用命令行 ssomanage -showserver。 有关此命令的详细信息,请参阅 如何设置 SSO 服务器
SSO 管理员帐户是什么? 使用命令行 ssomanage –displaydb。 有关此命令的详细信息,请参阅 如何显示 SSO 数据库信息
是否所有项都正确启用? 使用命令行 ssomanage –displaydb。 有关此命令的详细信息,请参阅 如何显示 SSO 数据库信息
关联应用程序是否存在? 使用命令行 ssomanage –listapps all。 有关此命令的详细信息,请参阅 如何列出关联应用程序
从外观上看,特定关联应用程序是否正确?

哪些帐户在使用此关联应用程序?
使用命令行 ssomanage –displayapp<应用程序名称>。 有关此命令的详细信息,请参阅 如何列出关联应用程序的属性
此关联应用程序是否有任何映射? 使用命令行 ssomanage –listmappings<应用程序名称>。 有关此命令的详细信息,请参阅 如何列出用户映射
哪些帐户是 SSO 组的成员? 验证所有 SSO 组和帐户的组成员关系。
SSO 服务器的 COM+ 应用程序是否按预期运行? 验证 SSO 服务器的 COM+ 应用程序。 注意:还可以检查事件日志以获取详细信息,例如事件和警告消息。

已知问题

ENTSSO 服务启动失败

问题

ENTSSO 服务启动失败。

原因

如果 ENTSSO 服务没有在有效的 SSO 管理员帐户下运行,将无法启动。

解决方法

请为 ENTSSO 服务指定有效的 SSO 管理员帐户,然后从服务控制管理器 (SCM) 管理单元重新启动该服务。

依赖于企业单一登录服务 (ENTSSO) 的 BizTalk 服务在重新启动之后无法启动

问题

BTSSvc$BizTalkServerApplication 依赖于企业单一登录服务 (ENTSSO),且在重新启动之后的启动过程中可能超时。

原因

企业单一登录服务可能需要约 3 分钟时间才能启动。

解决方法

通过“自动(延迟的启动)”启动类型选项配置“BizTalk 服务 BizTalk 组: BizTalkServerApplication”服务。 这将在所有自动服务完成其启动例程后开始启动服务。

无法访问关联应用程序

问题

如果与关联应用程序关联的应用程序管理员帐户无效,则企业单一登录禁用关联应用程序。

原因

SSO 应用程序管理员帐户无效。

解决方法

在创建关联应用程序之前,请确保 SSO 应用程序管理员帐户有效。 然后,您必须使关联应用程序能够使用该应用程序。

连接到客户端计算机时发生 RPC 错误

问题

当用户运行命令(例如 ssomanage -displayapp<applicationname>),其中计算机尝试连接到远程 SSO 服务器以检索信息时,他们会收到以下错误:错误:0x800706BA:RPC 服务器不可用。

原因

当用户指定了错误的服务器信息时,或者当 SSO 服务在远程服务器上不可用时,会发生此错误。

解决方法
  • 按照 如何设置 SSO 服务器 中的步骤操作,确保已连接到正确的 SSO 服务器。

  • 确保 SSO 服务已启用并且运行在您要连接到的 SSO 服务器中。

缺少主密钥,或者主密钥已损坏

问题

缺少主密钥,或者主密钥已损坏。 主密钥通常在配置期间生成。 如果缺少该密钥,当企业单一登录服务启动时事件日志中便会显示下列消息之一。

MessageId=10520

Severity=Warning

SSO_WARN_NO_SECRETS

MessageId=10565

Severity=Error

SSO_ERROR_SECRET_VALIDATE_FAILED

MessageId=10521

Severity=Error

SSO_ERROR_SECRETS_NOT_LOADED

原因

如果企业单一登录服务 (SSO) 在某个服务帐户下运行时生成密钥,又更改了该服务帐户,则可能出现此问题。 但是,该密钥以加密的形式存储在注册表中,并且使用基于此服务帐户标识(ENTSSO 在该帐户下运行)的密钥进行加密。

解决方法

将 ENTSSO 在其下运行的服务帐户更改为创建主密钥时的原始服务帐户。

更改 ENTSSO 服务帐户:

  1. 备份主密钥。 有关详细信息,请参阅 如何备份主密钥

  2. 停止企业单一登录服务。

  3. 更改服务帐户。

  4. 重新启动 SSO,并忽略有关受损密钥的任何事件日志错误。

  5. 还原主密钥。 有关详细信息,请参阅 如何还原主密钥

另请参阅

实现企业单一登录