在 Liberty 應用程式用戶端儲存器上配置 JAAS 程式化登入
Liberty 應用程式用戶端儲存器可以配置成使用 JAAS 程式化登入。
開始之前
關於這項作業
JAAS 登入配置指定鑑別時要使用的登入模組,以及其使用方式。這裡是 Liberty 在用戶端上提供的 JAAS 登入配置:
- WSLogin JAAS 登入配置:這是通用的 JAAS 登入配置,可供 Liberty 應用程式用戶端儲存器應用程式用來執行以使用者 ID 與密碼為基礎的鑑別。不過,這種配置不支援用戶端應用程式模組部署描述子中指定的 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 處理程式。