配置 Liberty 的 JAAS 自訂登入模組

您可以在配置 Liberty 伺服器登入模組之前或之後,配置自訂的「Java™ 鑑別和授權服務 (JAAS)」登入模組。

開始之前

我們支援 server.xml 檔、client.xml 檔,以及 JAAS 配置的 JAAS 配置檔。 不過,建議您在 server.xml 檔或 client.xml 檔中配置 JAAS 自訂登入模組。 如需配置 JAAS 配置檔進一步的詳細資料,請參閱利用 Liberty 的 JAAS 配置檔來配置應用程式 JAAS 自訂登入環境定義項目和登入模組

請確定您已如開發系統登入配置的 JAAS 自訂登入模組所述,有一個 JAR 檔包含實作 javax.security.auth.spi.LoginModule 介面的 JAAS 自訂登入模組。 在這個主題中,JAAS 自訂登入模組利用 Liberty 伺服器所提供的雜湊表、回呼或共用狀態變數,將鑑別資料傳給系統登入模組。

關於這項作業

您可以利用自訂登入模組來進行其他鑑別決策,或新增資訊到主題中,以在應用程式內進行更加精細的授權決策。 請參閱JAAS 配置JAAS 登入模組,取得更詳細的概觀。

適用於分散式平台您也可以利用開發人員工具來配置自訂 JAAS 登入模組。適用於分散式平台請參閱 在 Liberty 上利用開發人員工具來配置 JAAS在 Liberty 上配置應用程式安全時,WASdev.net 網站上有一些安全配置範例可供參考。請參閱在 Liberty 上利用開發人員工具來配置 JAAS

如果要配置 JAAS 自訂登入模組,請完成下列步驟:

程序

  1. server.xml 檔中啟用 appSecurity-2.0 Liberty 特性。
    <featureManager>
        <feature>appSecurity-2.0</feature>
    </featureManager>
  2. 建立一個實作 LoginModule 介面的 com.sample.CustomLoginModule 類別,將它包裝在 CustomLoginModule.jar 檔中。
  3. 建立一個利用 <fileset> 元素來指示 CustomLoginModule.jar 檔所在位置的 <library> 元素。 在這個範例中,程式庫 idcustomLoginLib
    <library id="customLoginLib">
        <fileset dir="${server.config.dir}" includes="CustomLoginModule.jar"/>
    </library>
  4. 建立一個 <jaasLoginModule> 元素。 在這個範例中,idcustom
    1. controlFlag 屬性設為 REQUIRED,以配置自訂登入模組來要求鑑別成功。
    2. libraryRef 屬性設為 customLoginLib,也就是上一步驟配置的 <library> 元素的 id。 這個登入模組也有兩個選項:UserRegistryldapmapToUseruser1
    <jaasLoginModule id="myCustom"
                     className="com.sample.CustomLoginModule"
                     controlFlag="REQUIRED" libraryRef="customLoginLib">
        <options myOption1="value1" myOption2="value2"/>
    </jaasLoginModule>
  5. 建立 <jaasLogincontextEntry> 元素,其中含有系統定義的 JAAS 配置 system.WEB_INBOUND 的 id 和唯一 name。您也可以將這個 JAAS 配置設為 system.DEFAULT、WSLogin,或您自己的 JAAS 配置。 在 loginModuleRef 屬性上,新增 custom,也就是上一步驟建立的 jaasLoginModule 元素的 id。 將這個 id 放在清單的最前面,它會成為最先呼叫的 JAAS 登入模組。 另外,您也必須列出其他預設登入模組:hashtableuserNameAndPasswordcertificatetoken
    <jaasLoginContextEntry id="system.WEB_INBOUND" name="system.WEB_INBOUND"
                     loginModuleRef="myCustom, hashtable, userNameAndPassword, certificate, token"  />
    註: 選項名稱開頭不能是句點 (.)、config.service,且必須是唯一的。另外,也不接受內容名稱 idID

    如需 <jaasLoginContextEntry><jaasLoginModule><options><library> 等元素的相關資訊,請參閱 Application Security 2.0


指示主題類型的圖示 作業主題



「時間戳記」圖示 前次更新: 2016 年 11 月 30 日
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_sec_jaas
檔名:twlp_sec_jaas.html