使用简单且受保护的 GSS-API 协商机制 (SPNEGO)
信任关联拦截器 (TAI) 进行认证并且希望使用别名主机名作为应用程序服务器的主机名时,必须配置一个定制属性来将别名主机名解析为实际主机名以进行 SPNEGO 单点登录。然后,可以在 DNS 中动态添加或修改别名,而不必更改应用程序服务器的配置。如果启用此定制属性,那么将不再需要通过 SPNEGO 配置来设置别名主机名。
关于此任务
当 HTTP 请求到达时,应用程序服务器将执行 DNS 查询,如果别名主机名解析为已为进行
SPNEGO 单点登录而配置的主机名,那么应用程序服务器将继续处理该请求。通常不需要将别名主机名添加到
SPNEGO 帐户。
过程
- 为 com.ibm.ws.security.spnego.SPNx.hostName
变量定义实际主机名。
- 在管理控制台中,单击
- 添加或修改 com.ibm.ws.security.spnego.SPNx.hostName 变量。 例如:
- 名称
- com.ibm.ws.security.spnego.SPNx.hostName
- 值
- real_host_name
此定制属性指定应用程序服务器可以将别名主机名解析成的实际主机名,以便执行 SPNEGO 单点登录。然后,您可以在 DNS 中动态地添加或修改别名,而不必更改应用程序服务器的配置。
您可以选择定义别名主机名,但只需要您定义实际主机名。当收到 HTTP 请求时,应用程序服务器会将别名主机名解析为实际主机名。
- 打开“规范支持”标志。
- 在管理控制台中,单击
- 添加或修改 com.ibm.websphere.security.krb.canonical_host
变量并将它设置为“true”。
- 名称
- com.ibm.websphere.security.krb.canonical_host
- 值
- true
此定制属性指定应用程序服务器在认证客户机时是否使用规范格式的 URL/HTTP 主机名。如果将此定制属性设置为 false,那么 Kerberos 凭单可以包含一个有别于 HTTP 主机名头的主机名,并且应用程序服务器可能发出以下消息:CWSPN0011E: 认证 HttpServletRequest 时遇到了无效的 SPNEGO 令牌
如果您将此定制属性设置为
true,那么可以避免此错误消息并允许应用程序服务器使用规范格式的 URL/HTTP 主机名进行认证。
- 配置浏览器。 在客户端机器的浏览器中,需要将别名主机名配置为可信主机。
- 对于 Internet Explorer:
- 选择。
- 选择“安全”选项卡。
- 单击
- 在此面板中添加别名主机名。
- 对于 Mozilla Firefox:
- 在地址栏中输入 About:config 并按
ENTER 键以访问配置选项。
- 找到 network.negotiate-auth.trusted-uris 首选项名称,右键单击该首选项,然后选择修改。如果没有此首选项,请在面板中右键单击,然后选择。
- 在文本框中添加别名主机名,有逗号分隔主机名。
- 确保将实际主机名添加到密钥表文件。
config: 可以通过两种方法配置密钥表文件:
- 如果 com.ibm.websphere.security.krb.canonical_host 已设置为“true”,那么应用程序服务器要求密钥表文件中具有实际主机名。别名不是必需的。
- 如果 com.ibm.websphere.security.krb.canonical_host 已设置为 false 并且定义了别名,那么别名必须在密钥表文件中存在。