Technote (troubleshooting)
问题
您启用 Domino 服务器做多服务器会话验证,也称作单点用户登录 (SSO), 并且创建了 Web SSO 配置文档。当您启动 HTTP 任务的时候,您却注意到下面的错误:
"HTTP Server: Error loading Web SSO Configuration 'LtpaToken' (Single Sign-On configuration is invalid)"
诊断问题
为了解决此问题,您尝试了下面的步骤:
- 重新创建 SSO 文档。
- 使用服务器的 ID 而不是管理员的 ID 来创建 SSO 文档。
- 证实您测试的服务器在 SSO 文档的“参与的服务器”列表中存在。
- 证实服务器或管理员的ID文件中的公钥与服务器或个人文档中的匹配。
- 重新创建 SSO 文档,在“参与的服务器”列表中仅包含此服务器的名字。
当做完前四步后您发现错误依然存在,在“参与的服务器”列表中仅包含此服务器的名字后,SSO 成功装载。为什么移掉其它的服务器后就可以成功装载 SSO?
解决问题
在某个案例中,这个错误的发生是因为 Domino 服务器名作为备用名被保存于某个用户的个人文档中。
当 SSO 配置文档被保存的时候,使用以下成员的公共密钥加密:文档的创建者,所有者和管理员域中的成员,参与的服务器的成员。为实现加密,Domino 服务器先在 $Users 视图进行查找,然后在 $Servers 视图进行查找。因此,如果 Domino 服务器的名字作为备用名存在于某个用户的个人文档中,SSO 文档会被使用此人的个人文档中的公共密钥加密,而不是使用服务器文档中的公共密钥。
要避免此错误,从个人文档中删除此服务器的名字,重建 Domino 目录的视图索引,然后重新创建 Web SSO 配置文档。
例如:
您的 Domino 服务器的名称为 Acme/ABC,在您的 Domino 目录中,有一个个人文档,在用户名域中包含下面的条目:
User Mailin/ABC
Joe Admin/ABC
User Mailin
Acme/ABC
为了防止 SSO 错误出现,您必须从个人文档中的用户名域中删除 "Acme/ABC" 条目。
从 Domino 目录中搜索 $Users 视图,可以判断个人文档的用户名域中是否包含服务器名。