您可以配置 Liberty 應用程式用戶端儲存器,來使用自訂的「Java™ 鑑別和授權服務 (JAAS)」登入模組。
開始之前
請確定您有 JAR 檔包含實作
javax.security.auth.spi.LoginModule 介面的 JAAS 自訂登入模組。
關於這項作業
您可以利用自訂登入模組來進行其他鑑別決策,或新增資訊到主題中,以在應用程式內進行更加精細的授權決策。
如果要配置 JAAS 自訂登入模組,請完成下列步驟。
程序
- 將 appSecurityClient-1.0 特性新增至 client.xml 檔。
<feature>appSecurityClient-1.0</feature>
- 建立一個實作 LoginModule 介面的 com.sample.CustomLoginModule 類別,將它包裝在 CustomLoginModule.jar 檔中。
- 建立一個利用 <fileset> 元素來指示 CustomLoginModule.jar 檔所在位置的 <library> 元素。
在這個範例中,檔案是在用戶端的配置目錄中,程式庫 ID 是 customLoginLib。
<library id="customLoginLib">
<fileset dir="${server.config.dir}" includes="CustomLoginModule.jar"/>
</library>
- 建立一個 <jaasLoginModule> 元素。
在這個範例中,ID 是 myCustom。
- 將 controlFlag 屬性設為 REQUIRED,以配置自訂登入模組來要求鑑別成功。
- 將 libraryRef 屬性設為 customLoginLib,也就是上一步驟配置的 <library> 元素的 ID。
<jaasLoginModule id="myCustom" className="com.sample.CustomLoginModule" controlFlag="REQUIRED" libraryRef="customLoginLib"/>
- 在應用程式用戶端儲存器 ClientContainer 上建立一個含有系統定義的 JAAS 配置的 ID 和名稱的 <jaasLogincontextEntry> 元素。
您也可以將這個 JAAS 配置設為 WSLogin,或您自己的 JAAS 配置。
在 loginModuleRef 屬性中,新增 proxy( Proxy 登入模組的 ID)和 myCustom(上一步驟所建立之 jaasLoginModule 元素的 ID)。
<jaasLoginContextEntry id="ClientContainer" name="ClientContainer"
loginModuleRef="proxy, myCustom"/>