SPNEGO TAI JVM 配置定制属性(不推荐)

Java™ 虚拟机 (JVM) 定制属性控制简单且受保护的 GSS-API 协商机制 (SPNEGO) 信任关联拦截器 (TAI) 的操作。

不推荐使用的功能部件: 在 WebSphere® Application Server V6.1 中引入了信任关联拦截器 (TAI) , TAI 使用简单且受保护的 GSS-API 协商机制 (SPNEGO) 来安全地协商和认证安全资源的 HTTP 请求。 在 WebSphere Application Server 7.0 中,现在不推荐使用此功能。 SPNEGO Web 认证已取代该 TAI,以提供动态重新装入 SPNEGO 过滤器的功能以及对应用程序登录方法启用回退。
下列 JVM 定制属性控制 SPNEGO TAI 的操作。 可对每个应用程序服务器指定不同的定制属性值。
表 1. JVM 配置定制属性

下表列出 SPNEGO JVM 配置定制属性。

定制属性名 必需 值类型 缺省值 建议值
com.ibm.ws.security.spnego.isEnabled 布尔 (Boolean)
com.ibm.ws.security.spnego.propertyReloadFile 字符串 对于 Windows
C:\temp\TAI.props 
对于 UNIX
/tmp/TestTAI.Properties 
com.ibm.ws.security.spnego.propertyReloadTimeout 整型 120
com.ibm.ws.security.spnego.useHttpFilterClass2 布尔 (Boolean)
com.ibm.ws.security.spnego.isEnabled
使用此定制属性在指定的应用程序服务器中启用或禁用 SPNEGO TAI 的操作。 此属性设置为 false 时,将禁用 SPNEGO TAI,因此 Web 认证模块不使用 SPNEGO TAI 来认证任何 Web 请求。 此属性设置为 true 时,将启用 SPNEGO TAI,并且 Web 认证模块将使用 SPNEGO TAI 来认证所有 Web 请求。
com.ibm.ws.security.spnego.propertyReloadFile
如果不方便停止然后重新启动应用程序服务器,那么请使用此定制属性来标识包含 SPNEGO TAI 的配置属性的文件。 可重新装入此文件中包含的属性以配置 SPNEGO TAI。
重要信息: 在指定文件中定义的属性将覆盖使用管理控制台定义的任何属性。

此重新装入文件的样本如下:

##########################################################
# Template properties files for SPNEGO TAI
#  
# Where possible defaults have been provided.
#
##########################################################

#---------------------------------------------------------
# Hostname
#---------------------------------------------------------
#com.ibm.ws.spnego.SPN1.HostName=wsecurity.austin.ibm.com 

#---------------------------------------------------------
# (Optional) SpnegoNotSupportedPage
#---------------------------------------------------------
#com.ibm.ws.spnego.SPN1.SpnegoNotSupportedPage=

#---------------------------------------------------------
# (Optional) NTLMTokenReceivedPage
#---------------------------------------------------------
#com.ibm.ws.spnego.SPN1.NTLMTokenReceivedPage=

#---------------------------------------------------------
# (Optional) FilterClass
#---------------------------------------------------------
#com.ibm.ws.spnego.SPN1.FilterClass=com.ibm.ws.spnego.HTTPHeaderFilter

#---------------------------------------------------------
# (Optional) Filter
#---------------------------------------------------------
#com.ibm.ws.spnego.SPN1.Filter=
重要信息: 如果设置了 com.ibm.ws.security.spnego.propertyReloadFile 定制属性,但未设置 com.ibm.ws.security.spnego.propertyReloadTimeout 定制属性,那么不会初始化 SPNEGO TAI。
com.ibm.ws.security.spnego.propertyReloadTimeout
使用此定制属性指定一个时间间隔(以秒计),经过该时间间隔后 SPNEGO TAI 将重新装入配置属性。 而且,如果 com.ibm.ws.security.spnego.propertyReloadFile 定制属性标识的文件自上次检索配置定制属性后发生了更改,那么 SPNEGO TAI 会重新装入配置属性。 此时间间隔(以秒计)必须指定为正整数。
com.ibm.ws.security.spnego.useHttpFilterClass2
使用此定制属性来指定应该使用 HttpHeaderFilter 类。 HttpHeaderFilter 类支持:
  • != 运算符用于 SPNEGO TAI 过滤器。
  • SPNEGO TAI 过滤器中存在空格。

如果此属性设置为 true,那么指定的以下过滤器将正常工作。

user-agent!=IBM Web Services Explorer;request-url!=noSPNEGO

如果此属性设置为 false,或者未指定此属性,那么以上过滤器将无法正常工作。

重要:
  • 如果未设置 com.ibm.ws.security.spnego.propertyReloadFile 定制属性和 com.ibm.ws.security.spnego.propertyReloadTimeout 定制属性,那么仅从 WebSphere Application Server 配置数据中定义的 SPNEGO TAI 定制属性装入 SPNEGO TAI 属性一次。 这一次装入只会在对 JVM 进行初始化时进行。
  • 如果设置了 com.ibm.ws.security.spnego.propertyReloadTimeout 定制属性,但未设置 com.ibm.ws.security.spnego.propertyReloadFile 定制属性,那么不会初始化 SPNEGO TAI。 在 WebSphere Application Server 中配置 JVM 定制属性,过滤 HTTP 请求和启用 SPNEGO TAI (不推荐) 或如何为 SPNEGO TAI 配置 JVM 定制属性。
请记住: 您还可以对 AdminConfig 脚本编制对象使用 wsadmin 命令以交互方式设置 com.ibm.ws.security.spnego.isEnabled 定制属性。 请参阅 使用脚本编制启用 SPNEGO TAI 作为 JVM 定制属性 (不推荐) 以获取更多信息。
SPNEGO TAI 不会直接使用下列定制属性;但是,它们会影响核心安全性运行时的操作,还可用于确定问题。
表 2。 JVM 配置定制属性

下表描述 JVM 配置定制属性

定制属性名 必需 值类型 缺省值 建议值
com.ibm.security.jgss.debug 字符串 “off”或“all”
com.ibm.security.krb5.Krb5Debug 字符串 “off”或“all”
java.security.properties 字符串
javax.security.auth.useSubjectCredsOnly 布尔 (Boolean)
com.ibm.security.jgss.debug
此定制属性是可选的。 它可用于收集诊断跟踪信息,以在 Java 通用安全服务 (JGSS) 应用程序员接口 (API) 实现中确定问题。 该值可设置为 alloff 以分别启用或禁用跟踪。
com.ibm.security.krb5.Krb5Debug
此定制属性是可选的。 它可以用来收集其他诊断跟踪信息,以便用于 JGSS 实现中的问题确定。 该值可设置为 alloff 以分别启用或禁用跟踪。
java.security.properties
此属性是可选的。 当单元中的不同应用程序服务器具有不同安全性要求,且您不方便修改整个单元的全局 java.security 文件时,可以使用此属性。 在这类情况下,将使用 java.security.properties 定制属性来对每个应用程序服务器指定 JVM 使用的 java.security 文件的位置。
javax.security.auth.useSubjectCredsOnly
JGSS 包含可选的 Java 认证和授权服务 (JAAS) 登录工具,用于将 Principal 凭证和密钥保存在应用程序的 JAAS 登录上下文的 Subject 中。 在缺省情况下,JGSS 将从 Subject 中检索凭证和密钥。 可通过将 Java 属性 javax.security.auth.useSubjectCredsOnly 设置为 false来禁用此功能。
注意: SPNEGO TAI 不使用可选的 JAAS 登录模块。 javax.security.auth.useSubjectCredsOnly 属性必须设置为 false