無法在 WebLogic Server 上配置 OpenSSO Enterprise 配置,因為 weblogic.jar 綁定了較舊的 ldapjdk.jar 檔案。
Sun 提供新的 ldapjdk.jar 檔案,其中包含與安全性和效能相關的修正程式。您必須為 WebLogic Server 9.2 和 WebLogic Server 10 提供下列解決方法。
解決方法。在 CLASSPATH 中,將 Sun ldapjdk.jar 放在 weblogic.jar 之前,如下所示:
使用下列指令從暫存目錄中的 opensso.war 擷取 ldapjdk.jar:
jar xvf opensso.war WEB-INF/lib/ldapjdk.jar
將上述擷取的 ldapjdk.jar 複製到 WebLogic lib 目錄。
例如,對於 Solaris 或 Linux 系統上的 WebLogic Server 10,此目錄為:BEA_HOME /weblogic_10.0/server/lib
或者,對於 Windows 上的 WebLogic Server 9.2,此目錄為:BEA_HOME\weblogic92\server\lib
將此 ldapjdk.jar 的路徑置於現有 classpath 之前,方法是編輯用於啟動 WebLogic Server 的啟動程序檔。在下列範例中,BEA_HOME 是安裝 WebLogic Server 的位置。
對於 Windows 上的 WebLogic 9.2,編輯:
BEA_HOME\weblogic92\samples\domains\wl_server\bin\startWebLogic.cmd
將 set CLASSPATH=%CLASSPATH%;%MEDREC_WEBLOGIC_CLASSPATH% 變更為:
set CLASSPATH=BEA_HOME\weblogic92\server\lib\ldapjdk.jar;%CLASSPATH%;%MEDREC_WEBLOGIC_CLASSPATH%
對於 Windows 上的 WebLogic 10,編輯:
BEA_HOME \wlserver_10.0\samples\domains\wl_server\bin\startWebLogic.cmd
將 set CLASSPATH=%CLASSPATH%;%MEDREC_WEBLOGIC_CLASSPATH% 變更為:
set CLASSPATH= BEA_HOME\wlserver_10.0\server\lib\ldapjdk.jar;%CLASSPATH%;%MEDREC_WEBLOGIC_CLASSPATH%
對於 Solaris 或 Linux 上的 WebLogic 9.2 MP2,編輯:
/bea/weblogic92/samples/domains/wl_server/bin/ startWebLogic.sh
或
/usr/local/bea/user_projects/domains/base_domain/bin/startWebLogic.sh
將 CLASSPATH="${CLASSPATH}${CLASSPATHSEP}${MEDREC_WEBLOGIC_CLASSPATH}" 變更為:
CLASSPATH= "BEA_HOME/weblogic92/server/lib/ldapjdk.jar${CLASSPATH}${CLASSPATHSEP}${MEDREC_WEBLOGIC_CLASSPATH}" |
對於 Solaris 或 Linux 上的 WebLogic 10,編輯:
/bea/wlserver_10.0/samples/domains/wl_server/bin/startWebLogic.sh
或
/bea/user_projects/domains/wl10_domain/bin/startWebLogic.sh
將 CLASSPATH="${CLASSPATH}${CLASSPATHSEP}${MEDREC_WEBLOGIC_CLASSPATH}" 變更為
CLASSPATH= "BEA_HOME/wlserver_10.0/server/lib/ldapjdk.jar${CLASSPATH}${CLASSPATHSEP}${MEDREC_WEBLOGIC_CLASSPATH}"
重新啟動伺服器。
配置 OpenSSO Enterprise。
如果您正使用配置程式配置 WebLogic Server 9.2 MP2 或 10,且完成配置的時間超過 600 秒,則會將下列錯誤傳回到終端機、WebLogic Server 網域和伺服器記錄檔:
<Error> <WebLogicServer> <BEA-000337> <[STUCK] Exe cuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "681" seconds working on the request "Http Request: /opensso/setup/setSetup Progress", which is more than the configured time (StuckThreadMaxTime) of "600" seconds. Stack trace: ...
這個錯誤發生的原因是 WebLogic Server 超過「固定執行緒最長時間:」的預設值 (600 秒)。
解決方法。如果配置程式沒有回應,請重新啟動。此外,請考慮將 WebLogic Server 的「固定執行緒最長時間」值從其預設的 600 秒改為更大的值,例如 1200 秒。使用 WebLogic 主控台來變更此值 (base_domain > [環境] > [伺服器] > [管理伺服器] > [配置/調校])。
在 WebLogic Server 8.1 上,當尋找服務時,為 ID-WSF 配置的 opensso-client-jdk14.war 會傳回錯誤。
解決方法。將下列 JAR 檔案增加到 weblogic-home/jdk142_08/jre/lib/ 下:jax-qname.jar、namespace.jar、relaxngDatatype.jar、xalan.jar 和 xsdlib.jar。
xalan.jar 檔案位在 opensso.war 的 WEB-INF/lib 目錄中。其他檔案位在 opensso-client-jdk14.war 的 WEB-INF/lib 目錄中。
只有下列狀況下才會發生這個問題:
配置資料存放區為 Sun Java System Directory Server。
嘗試安裝多重伺服器。
amadmin 密碼與 Directory Server 連結的 dn 密碼不同。
解決方法。此解決方法有兩部分:
確保配置 Directory Server 連結 dn 密碼與 amadmin 密碼相同。
配置第二個額外的 OpenSSO Enterprise 伺服器。若要安裝第二個伺服器並指向第一個 OpenSSO Enterprise 伺服器的配置目錄,只要存取第二個 OpenSSO Enterprise 伺服器的 [配置程式] 頁面,並在步驟 1 和步驟 2 中輸入 amadmin 密碼、cookie 網域和其他詳細資訊。
對於步驟 3,不要選取 [增加至現有部署]。相反地,選取第一個實例選項,並提供第一個伺服器相同的 Directory Server 名稱、連接埠、DN、密碼和加密金鑰。然後,繼續按照一般方式配置。
在主控台中增加進階特性,會造成 OpenSSO Enterprise 伺服器傳回錯誤。在增加任何進階配置特性後,會發生這個問題。
解決方法。如果您在主控台中變更預設伺服器配置,必須重新啟動 OpenSSO Enterprise 伺服器 Web 容器。
使用 Oracle Application Server 10g 10.1.3.1 版做為 Web 容器時,則會出現異常錯誤,導致 OpenSSO Express 配置失敗。
解決方法。在配置 OpenSSO 前,請將下列 JVM 選項增加至目標 Oracle Application Server 10g 伺服器實例的「伺服器特性」:
-Doc4j.jmx.security.proxy.off=true
OpenSSO Enterprise 使用不合格的寄件者名稱 Identity-Server 提交電子郵件通知,這會在記錄檔中傳回錯誤項目。
解決方法。在下列檔案中將寄件者名稱從 Identity-Server 變更為 Identity-Server@hostname.domainname:
在 amPasswordResetModuleMsgs.properties 中,變更 fromAddress.label。
在 amAuth.properties 中,變更 lockOutEmailFrom。