配置不使用注册表交互的 UsernameToken 调用者配置
要在不访问 WebSphere® 注册表的情况下使 UsernameToken 向调用者配置进行认证,您可以替换 UsernameToken 使用者的认证方法,并将调用者配置为使用替代 JAAS 登录配置。
关于此任务
本信息仅适用于 Java API for XML Web Services (JAX-WS)。
缺省情况下,JAX-WS Web Service 安全性 UsernameToken 使用者 UNTConsumeLoginModule 始终根据 WebSphere 注册表来验证令牌中包含的用户名和密码。可以使用 GenericSecurityTokenFactory 提供的 SPI 来用自己的认证方法替代此认证方法。有关更多信息,请参阅“使用堆栈化 JAAS 登录模块来替换 UsernameToken 使用者的认证方法”。
将调用者配置添加到服务提供者的 WS-Security 约束时,也会始终根据 WebSphere 注册表来验证 UsernameToken 中包含的用户名和密码。如果提供了用户名和密码,那么将根据 WebSphere 注册表来验证该用户名和密码。如果仅提供了用户名,那么该用户名必须存在于 WebSphere 注册表中。这些验证发生在 com.ibm.ws.security.server.lm.ltpaLoginModule 模块中,该模块是 wss.caller Java™认证和授权服务 (JAAS) 配置堆栈的一部分,如以下示例所示:
com.ibm.ws.wssecurity.impl.auth.module.PreCallerLoginModule
com.ibm.ws.wssecurity.impl.auth.module.UNTCallerLoginModule
...
com.ibm.ws.wssecurity.impl.auth.module.WSWSSLoginModule
com.ibm.ws.security.server.lm.ltpaLoginModule
com.ibm.ws.security.server.lm.wsMapDefaultInboundLoginModule
WebSphere WS-Security 运行时不支持为调用者使用不包括 ltpaLoginModule 和 wsMapDefaultInboundLoginModule 登录模块的 JAAS 配置。
要在不访问 WebSphere 注册表的情况下将 UsernameToken 与调用者配置配合使用,必须阻止 UNTConsumeLoginModule 和 ltpaLoginModule 模块访问注册表并提供替代模块。