您可以將 Liberty 配置成利用「信任關聯攔截程式 (TAI)」來整合協力廠商安全服務。TAI 可以在單一登入 (SSO) 之前或之後呼叫。
開始之前
請確定您已將協力廠商安全伺服器安裝為反向 Proxy 伺服器。
當
Liberty 伺服器將它本身的授權原則套用在 Proxy 伺服器所傳遞的結果憑證上時,協力廠商安全伺服器可以作為前端鑑別伺服器。另外,您也必須有一個包含自訂 TAI 類別的 JAR 檔,這些 TAI 類別實作
com.ibm.wsspi.security.tai.TrustAssociationInterceptor 介面。
註: 不支援監視這個 JAR 檔的變更。
關於這項作業
TAI 用來驗證協力廠商安全伺服器和 Liberty 伺服器之間的 HTTP 要求。TAI 會檢查協力廠商安全伺服器發出的 HTTP 要求,查看其是否包含任何安全屬性。如果 TAI 驗證要求的程序順利完成,Liberty 伺服器會檢查用戶端使用者是否有存取資源所需要的許可權,來進行要求授權。
如需含有 LTPA 之自訂 TAI 和 SSO 配置的相關資訊,請參閱開發 Liberty 的自訂 TAI和在 Liberty 中利用 LTPA Cookie 來自訂 SSO 配置。
程序
- 在 server.xml 檔中啟用 appSecurity-2.0
Liberty 特性。
<featureManager>
<feature>appSecurity-2.0</feature>
</featureManager>
- 將您的應用程式部署到 Liberty 伺服器,並啟用所有 Liberty 特性,例如 jsp-2.2 和 jdbc-4.0。
- 將 TAI 實作程式庫 simpleTAI.jar 放在您的伺服器目錄中。
- 利用 TAI 配置選項及 TAI 實作程式庫的位置來更新 server.xml 檔。
下列
server.xml 檔啟用了自訂 TAI,但如果 TAI 鑑別失敗,不會執行未受保護之 URI 的鑑別,也不允許撤回到應用程式鑑別方法。如範例所示,以下是 TAI 支援所能使用的配置元素:
- trustAssociation
- interceptors
- properties
<trustAssociation id="myTrustAssociation" invokeForUnprotectedURI="false"
failOverToAppAuthType="false">
<interceptors id="simpleTAI" enabled="true"
className="com.sample.SimpleTAI"
invokeBeforeSSO="true" invokeAfterSSO="false" libraryRef="simpleTAI">
<properties prop1="value1" prop2="value2"/>
</interceptors>
</trustAssociation>
<library id="simpleTAI">
<fileset dir="${server.config.dir}" includes="simpleTAI.jar"/>
</library>
...
註: 內容名稱開頭不能是句點 (.)、config. 或 service。
另外,也不接受內容名稱 id 或 ID。
註: 依預設,invokeBeforeSSO 內容設為 true。若使用此設定,即使 SSO 記號存在且有效,還是會呼叫 TAI。不過,如果預期行為是只在 SSO 記號無效或未提供時,才呼叫 TAI,則可以停用這個內容,其作法是將它設為 false,並啟用 invokeAfterSSO 內容。若使用此設定,則只有當 SSO 記號不存在或無效時,才會呼叫 TAI。在某些情況下,此設定有助於提升您的系統效能。
如需 <trustAssociation>、<interceptors> 及 <properties> 元素的相關資訊,請參閱 JMX REST 連接器 1.0。