2015-12-02 30 views
0

我正在嘗試使用ssoadm編寫openam部署腳本,並且想知道什麼是獲取ssoadm屬性名稱的最快和最簡單的方法?ssoadm獲得openam屬性名稱的最快方法

現在,我登錄控制檯並查看我感興趣的屬性的「查看html源代碼」,並通過ssoadm使用該屬性。但是,這種方法非常耗時,而且在openam13中,屬性名稱在源代碼中不可用。

回答

0

您是否對任何配置或服務感興趣? 對於大多數配置和服務(例如數據存儲區,授權模塊,服務器屬性等),有一個ssoadm命令可以爲您提供當前值,您可以從中獲取屬性名稱並在腳本中使用它。

例如,如果你有一個在你的頂層領域稱爲OpenDJ數據存儲可以使用以下命令獲取當前的配置值:

ssoadm show-datastore -u amadmin -f /tmp/amadmin.pwd -e/-m OpenDJ 

通常它只是一個尋找合適的ssoadm命令的問題。另一種選擇是查看服務定義。所有這些定義都以xml格式保存在ou = Services內的配置存儲中。

希望這會有所幫助。

+0

對於例如如果我想通過ssoadm設置用戶配置文件「忽略」,我運行以下命令:set-realm -svc-attrs --realm/--servicename iPlanetAMAuthService --attributevalues iplanet-am-auth-dynamic-profile-creation =忽略。但是,我花了一段時間才找到「iplanet-am-auth-dynamic-profile-creation」的屬性名稱。所以,我試圖找出最佳方法來獲取這些屬性名稱(和命令),我可以通過ssoadm進行更新或配置 – aazeem

0

我認爲最簡單的方法可能是查找服務XML文件。在配置時,服務XML文件全部複製到〜/ <OPENAM_HOME>/config/xml文件夾中,所以通常情況下,您可以嘗試grep某些字符串(如動態),但即使如此,也可能不起作用好。

如果你知道你正在處理的是什麼服務,那麼事情會變得容易一些。您是否在嘗試更改認證配置?它必須在amAuth.xml中定義。用於ssoadm命令的服務名稱在「name」屬性下的<Service>元素中定義。服務屬性名稱在具有「name」屬性的<AttributeSchema>元素下定義。

另一種替代方案是隻閱讀文檔,因爲大多數的屬性名已經被記錄在案: http://openam.forgerock.org/doc/bootstrap/admin-guide/index.html#auth-core-realm-attributes