在 Liberty 应用程序客户机容器中配置 JAAS 程序化登录
Liberty 应用程序客户机容器可配置为使用 JAAS 程序化登录。
开始之前
关于此任务
JAAS
登录配置指定登录模块如何用于认证及哪些登录模块用于认证。以下是 Liberty 在客户机上提供的 JAAS 登录配置:
- WSLogin JAAS 登录配置:一种通用 JAAS 登录配置,Liberty 应用程序客户机容器可使用此配置执行基于用户标识和密码的认证。但是,此配置不支持客户机应用程序模块的部署描述符中指定的 CallbackHandler 处理程序。
- ClientContainer JAAS 登录配置:此 JAAS 登录配置识别客户机应用程序模块的部署描述符中指定的 CallbackHandler 处理程序(如果已指定)。如果未在该部署描述符中指定处理程序,那么将使用通过程序指定的处理程序。
JAAS 登录配置指定的登录模块实现某种认证技术。登录模块可使用 javax.security.auth.callback.CallbackHandler 接口收集来自用户的凭证。Liberty 提供 CallbackHandler 接口的非提示实现,此实现称为 com.ibm.websphere.security.auth.callback.WSCallbackHandlerImpl。此实现允许应用程序开发者在应用程序中直接指定凭证而不必提示用户。可通过两种方法指定 CallbackHandler 实现:
- 通过程序指定实现(作为 javax.security.auth.login.LoginContext 构造函数的自变量);例如:
LoginContext logincontext = new LoginContext("ClientContainer", new WSCallbackHandlerImpl("user", "password"));
- 在客户机应用程序模块的部署描述符 (application-client.xml) 中指定实现名称;例如:
<callbackhandler>com.acme.callbackhandler.WSCallbackHandlerImpl/<callbackhandler>
- 通过程序指定实现(作为 javax.security.auth.login.LoginContext 构造函数的自变量);例如:
注: WSLogin
登录配置不识别在部署描述符中指定 CallbackHandler 处理程序的第二个选项。