使用此页面来指定 Java™ 认证和授权服务(JAAS)系统登录配置的列表。
在将集成密码服务设施(ICSF)用作认证机制时处理登录请求。
处理远程方法调用(RMI)、Web 应用程序和大多数其他登录协议的入站登录请求。
这三个登录配置将传递以下回调信息,这些配置中的登录模块将处理此信息。这些回调并不同时传递。然而,这些回调的组合确定了应用程序服务器认证用户的方式。
callbacks[0] = new javax.security.auth.callback.
NameCallback("Username: ");
callbacks[1] = new javax.security.auth.callback.
PasswordCallback("Password: ", false);
callbacks[2] = new com.ibm.websphere.security.auth.callback.
WSCredTokenCallbackImpl("Credential Token: ");
callbacks[3] = new com.ibm.wsspi.security.auth.callback.
WSTokenHolderCallback("Authz Token List: ");
在系统登录配置中,应用程序服务器根据回调收集的信息来认证用户。然而,定制登录模块不需要根据任何这些回调操作。以下列表说明了这些回调的典型组合:
以下登录时发生此回调:CSIv2 标识声明;Web 和 CSIv2 X509 证书登录;旧样式信任关联拦截器登录,等等。在 Web 和 CSIv2 X509 证书登录中,应用程序服务器将证书映射到用户名。此回调由任何仅使用用户名建立信任的登录类型使用。
此回调组合通常用于基本认证登录。大多数用户认证使用这两种回调进行。
com.ibm.wsspi.security.token.WSSecurityPropagationHelper.
validateLTPAToken(byte[])
com.ibm.wsspi.security.token.WSSecurityPropagationHelper.
getUserFromUniqueID(uniqueID)
com.ibm.wsspi.security.token.WSSecurityPropagationHelper.
validateLTPAToken(byte[])
callbacks[0] = new javax.security.auth.callback.
NameCallback("Username: ");
callbacks[1] = new javax.security.auth.callback.
PasswordCallback("Password: ", false);
callbacks[2] = new com.ibm.websphere.security.auth.callback.
WSCredTokenCallbackImpl("Credential Token: ");
如果属性已从纯客户机添加到了主体集,那么 NameCallback 和 PasswordCallback 回调认证信息,然后令牌保持器中序列化的对象将添加到此已认证的主体集。
定制登录模块需要处理定制串行化。有关更多信息,请参阅信息中心中的“安全性属性传播”。
callbacks[4] = new com.ibm.websphere.security.auth.callback.
WSServletRequestCallback("HttpServletRequest: ");
callbacks[5] = new com.ibm.websphere.security.auth.callback.
WSServletResponseCallback("HttpServletResponse: ");
callbacks[6] = new com.ibm.websphere.security.auth.callback.
WSAppContextCallback("ApplicationContextCallback: ");
callbacks[7] = new WSRealmNameCallbackImpl("Realm Name: ", <default_realm>);
callbacks[8] = new WSX509CertificateChainCallback("X509Certificate[]: ");
java.util.Hashtable 对象存在时,登录模块将此对象的属性映射到有效主体集中。存在 WSTokenHolderCallback 回调时,登录模块将字节令牌对象反序列化并重新生成已序列化的主体集内容。java.util.Hashtable 散列表优先于所有其他形式的登录。请小心避免与应用程序服务器先前传播的属性重复或覆盖那些属性。
通过指定 java.util.Hashtable 散列表优先于其他认证信息,定制登录模块必须已验证 LTPA 令牌(如果有的话)以建立足够的信任。定制登录模块可以使用 com.ibm.wsspi.security.token.WSSecurityPropagationHelper.validationLTPAToken(byte[]) 方法来验证 WSCredTokenCallback 回调中的 LTPA 令牌。如果无法验证 LTPA 令牌,就会存在安全风险。
有关添加包含熟知且格式正确的属性的散列表(应用程序服务器使用此信息足以进行登录)的更多信息,请参阅信息中心中的“配置入站标识映射”。
当 com.ibm.CSI.rmiOutboundLoginEnabled 或 com.ibm.CSIOutboundPropagationEnabled 属性为 true 时,处理发送出站到另一台服务器的远程方法调用(RMI)请求。
此登录配置确定目标服务器的安全能力及其安全域。例如,如果 V5.1.1 或更高版本的应用程序服务器(或者 z/OS® 版 V5.1.0.2)与 V5.x 应用程序服务器通信,那么 V5.1.1 应用程序服务器将使用 LTPA 令牌来仅将认证信息发送到 V5.x 应用程序服务器。然而,如果 WebSphere® Application Server V5.1.1 或更高版本与 V5.1.x Application Server 通信,并且在发送和接收服务器上都启用了传播,那么将认证和授权信息发送到接收应用程序服务器。当应用程序服务器向下游既发送认证信息又发送授权信息时,该应用程序服务器就不必为了进行授权而再次访问用户 注册表和查找用户的安全属性。另外,在发送服务器上添加的任何定制对象都必须存在于下游服务器上的主体集中。
在 RMI_OUTBOUND 登录配置中可以使用以下回调。可以使用此回调返回的 com.ibm.wsspi.security.csiv2.CSIv2PerformPolicy 对象来查询此特定出站请求的安全策略。此查询可以帮助确定目标域是否与当前域不同,以及应用程序服务器是否必须映射该域。有关更多信息,请参阅信息中心中的“配置指向另一目标域的出站映射”。
为此登录模块提供有关出站调用的特定于协议的策略信息。此信息用于确定安全性级别,包括目标域、目标安全需求和合并的安全需求。
csiv2PerformPolicy = (CSIv2PerformPolicy)
((WSProtocolPolicyCallback)callbacks[0]).getProtocolPolicy();
与 RMI 不同的协议可能有不同类型的策略对象。
可以在此登录模块前使用定制登录模块以执行凭证映射。然而,建议此登录模块更改在登录阶段中传递的主体集内容。如果采纳此建议,那么在此登录模块对新的主体集内容执行操作后处理登录模块。
有关更多信息,请参阅信息中心中的“配置指向另一目标域的出站映射”。
将简单 WebSphere 认证机制(SWAM)用作认证方法时,处理单台服务器环境中的登录请求。
此登录配置使您能够将轻量级目录访问协议(LDAP)用户注册表中的标识映射到系统授权工具(SAF)用户标识。
处理使用标识声明的 Web Service 安全性的登录配置请求。
此登录配置用于 V5.x 系统。有关更多信息,请参阅信息中心中的“标识声明认证方法”。
在公用密钥密码术标准 #7(PKCS7)对象中验证具有证书撤销列表的 X.509 证书。
此登录配置用于 V6.0.x 系统。
用公共密钥基础结构(PKI)路径验证 X.509 证书。
此登录配置用于 V6.0.x 系统。
处理使用数字签名验证的 Web Service 安全性的登录配置请求。
此登录配置用于 V5.x 系统。
验证基本认证(用户名和密码)。
此登录配置用于 V6.0.x 系统。
通过检查证书和证书路径的有效性验证 X.509 二进制安全性令牌(BST)。
此登录配置用于 V6.0.x 系统。
处理对 Web 容器中的组件(例如 servlet 和 JavaServer Pages(JSP)文件)的登录请求。
com.ibm.ws.security.web.AuthenLoginModule 登录模块在 LTPA 登录配置中预定义。您可以在 LTPA_WEB 登录配置中此模块的前后添加定制登录模块。
LTPA_WEB 登录配置可以处理使用回调处理程序传递的 HttpServletRequest 对象、HttpServletResponse 对象和 Web 应用程序名。有关更多信息,请参阅信息中心中的“示例:定制服务器端 Java 认证和授权服务认证及登录配置”。
处理 LTPA_WEB 登录配置未处理的登录请求。
此登录配置由 WebSphere Application Server V5.1 和先前版本使用。
com.ibm.ws.security.server.lm.ltpaLoginModule 登录模块是在 LTPA 登录配置中预定义的。您可以在 LTPA 登录配置中此模块的前后添加定制登录模块。有关更多信息,请参阅信息中心中的“示例:定制服务器端 Java 认证和授权服务认证及登录配置”。