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

简单且受保护的 GSS-API 协商机制 (SPNEGO) 信任关联拦截器 (TAI) 定制配置属性可控制 SPNEGO TAI 的不同操作方面。可对每个应用程序服务器指定不同的属性值。

不推荐使用的功能部件 不推荐使用的功能部件:

在 WebSphere® Application Server V6.1 中引入了一个信任关联拦截器 (TAI),TAI 使用“简单且受保护的 GSS-API 协商机制” (SPNEGO) 来对安全资源的 HTTP 请求进行安全地协商和认证。现在,WebSphere Application Server 7.0 中已不推荐使用此功能。SPNEGO Web 认证已取代该 TAI,以提供动态重新装入 SPNEGO 过滤器的功能以及对应用程序登录方法启用回退。

depfeat

下表中定义的每个属性将使用管理控制台设施在 SPNEGO TAI 的“定制属性”面板中指定。为方便起见,可选择将这些属性放在属性文件中。在此情况下,SPNEGO TAI 会从文件(而不是“定制属性”面板定义)中装入配置属性。请参阅 SPNEGO TAI JVM 配置定制属性(不推荐)中定义的 com.ibm.ws.security.spnego.propertyReloadFile 属性。

为了指定用于标识每个可能存在的 SPN 的唯一属性名称,在属性名称中嵌入了 SPN<id>,用于将每个 SPN 的相关联属性分组到一起。对于每个属性组,SPN<id> 按顺序编号。

表 1. SPNEGO TAI 定制属性.

下表列出了 SPNEGO TAI 定制属性。

属性名 必需 缺省值
com.ibm.ws.security.spnego.SPN<id>.enableCredDelegate False
com.ibm.ws.security.spnego.SPN<id>.filter 请参阅其后的描述。
com.ibm.ws.security.spnego.SPN<id>.filterClass 请参阅其后的描述。
com.ibm.ws.security.spnego.SPN<id>.hostName
com.ibm.ws.security.spnego.SPN<id>.NTLMTokenReceivedPage 请参阅其后的描述。
com.ibm.ws.security.spnego.SPN<id>.spnegoNotSupportedPage 请参阅其后的描述。
com.ibm.ws.security.spnego.SPN<id>.trimUserName true

com.ibm.ws.security.spnego.SPN<id>.enableCredDelegate

此属性是可选的。它指示 SPNEGO TAI 是否存储 Kerberos 委派凭证。此属性允许应用程序检索存储的凭证并将它们传播至其他应用程序下游,以便进行其他的 SPNEGO 认证。

此属性需要使用高级 Kerberos 凭证委派功能,并且要求应用程序开发者开发定制逻辑。开发者必须与 Kerberos 凭单授予服务 (TGS) 直接交互,以提出请求的最终用户名义使用委派 Kerberos 凭证来获取凭单授予凭单 (TGT)。开发者还必须构造相应的 Kerberos SPNEGO 标记并将其包括在 HTTP 请求中,以继续进行下游 SPNEGO 认证过程,其中包括处理其他 SPNEGO 提问-应答交换(如有必要)。

com.ibm.ws.security.spnego.SPN<id>.filter

此属性是可选的。此属性用于定义过滤条件,供具有 com.ibm.ws.security.spnego.SPN<id>.filterClass 属性的指定类使用。它将定义对所用的实现类有意义的任意条件。

com.ibm.ws.security.spnego.HTTPHeaderFilter 缺省实现类使用此属性来定义选择规则列表,这些规则表示要与 HTTP 请求头相匹配的条件,以确定是否选择该 HTTP 请求以进行 SPNEGO 认证。

每个条件是使用“键/值”对指定的,并且用分号隔开。当这些条件显示在指定属性中时,按从左至右的顺序对他们进行求值。如果满足所有条件,那么会选择该 HTTP 请求以进行 SPNEGO 认证。

“键/值”对中的键和值用某一定义选择哪个条件的运算符隔开。该键标识要从 HTTP 请求中抽取的请求头,并且会根据指定的运算符将其值与“键/值”对中指定的值进行比较。如果该键标识的头未出现在 HTTP 请求中,那么会认为不满足该条件。

任何标准 HTTP 请求头都会被用作“键/值”对中的键。有关有效头的列表,请参阅 HTTP 规范。此外,将定义两个键以从请求中抽取信息,这与选择标准一样有用,而选择标准是无法通过标准 HTTP 请求头获取的。远程地址键将用作伪头,以检索发送了 HTTP 请求的客户机应用程序的远程 TCP/IP 地址。请求 URL 键将用作伪头,以检索客户机应用程序用于发出请求的 URL。拦截器使用 javax.servlet.http.HttpServletRequest 接口中的 getRequestURL 运算结果来构造 Web 地址。如果存在查询字符串,那么还将使用同一接口中的 getQueryString 运算的结果。在此情况下,完整 URL 的构造如下所示:
String url = request.getRequestURL() + ‘?' + request.getQueryString();
将定义以下运算符和条件:
表 2. 过滤条件和运算.

下表定义进行过滤时使用的条件和运算符并提供了示例。

条件 运算符 示例
完全匹配 = =

比较相等的参数。

host=host.my.company.com
部分匹配(包含) %=

比较部分匹配有效的参数。

user-agent%=IE 6
部分匹配(包含其中一项) ^=

比较部分匹配对多个指定参数中的某一个有效的参数。

request-url^=webApp1|webApp2|webApp3
不匹配 !=

比较不相等的参数。

request-url!=noSPNEGO
大于 >

比较符号意义上大于的参数。

remote-address>192.168.255.130
小于 <

比较符号意义上小于的参数。

remote-address<192.168.255.135

com.ibm.ws.security.spnego.SPN<id>.filterClass

此属性是可选的。它指定由 SPNEGO TAI 用于选择哪些 HTTP 请求要进行 SPNEGO 认证的 Java 类的名称。

如果未指定任何类,那么使用缺省 com.ibm.ws.security.spnego.HTTPHeaderFilter 实现类。指定的 Java 类必须实现 com.ibm.wsspi.security.spnego.SpnegoFilter 接口。已经提供了此接口的缺省实现。指定 com.ibm.ws.security.spnego.HTTPHeaderFilter 类以使用缺省实现。这个类使用通过 com.ibm.ws.security.spnego.SPN<id>.filter 属性指定的选择规则。

com.ibm.ws.security.spnego.SPN<id>.hostName

此属性是必需的。它指定 SPN 中的主机名,SPNEGO TAI 用该名称来确定 Kerberos 安全上下文。它没有缺省值。

注: 该主机名是主机名的长名称格式。例如,myHostName.austin.ibm.com
Kerberos SPN 是格式为 HTTP/hostname@realm 的字符串。SPNEGO 提供程序将完整的 SPN 与 Java 类属安全性服务 (JGSS) 配合使用,以获取认证过程中使用的安全凭证和安全上下文。

com.ibm.ws.security.spnego.SPN<id>.NTLMTokenReceivedPage

此属性是可选的。此属性指定一个资源的 Web 地址,当提问/应答握手包含 NT LAN 管理器 (NTLM) 令牌而不是期望的 SPNEGO 令牌时,SPNEGO TAI 将该资源中的内容包括在(浏览器)客户机应用程序所显示的 HTTP 响应中。

此属性可以指定 Web 资源 (http://) 或文件资源 (file://)。如果未指定此属性或者拦截器找不到指定资源,那么使用以下内容:
<html><head><title>An NTLM Token was received.</title></head>
<body>Your browser configuration is correct, but you have not logged into a supported
Microsoft(R) Windows(R) Domain.
<p>Please login to the application using the normal login page.</html>

com.ibm.ws.security.spnego.SPN<id>.spnegoNotSupportedPage

此属性是可选的。此属性指定一个资源的 Web 地址,当(浏览器)客户机应用程序不支持 SPNEGO 认证时,SPNEGO TAI 将该资源的内容包括在该应用程序所显示的 HTTP 响应中。此属性可以指定 Web 资源 (http://) 或文件资源 (file://)。

如果未指定此属性或者拦截器找不到指定资源,那么使用以下内容:
<html><head><title>SPNEGO authentication is not supported</title></head>
<body>SPNEGO authentication is not supported on this client</body></html>;

com.ibm.ws.security.spnego.SPN<id>.trimUserName

此属性是可选的。它指定 SPNEGO TAI 是 (true) 否 (false) 要从 Kerberos 领域名前面的“@”开始移除主体用户名的后缀。

如果此属性设置为 true,那么将移除主体用户名的后缀。如果此属性设置为 false,那么将保留主体名称的后缀。使用的缺省值为 true。例如,

当 com.ibm.ws.security.spnego.SPN<id>.trimUserName = true 时
bobsmith@myKerberosRealm  becomes  bobsmith
当 com.ibm.ws.security.spnego.SPN<id>.trimUserName = false 时
bobsmith@myKerberosRealm  remains  bobsmith@myKerberosRealm

指示主题类型的图标 参考主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rsec_SPNEGO_tai_attribs
文件名:rsec_SPNEGO_tai_attribs.html