Servigistics InService 部署 > 進階組態 > 對應使用者企業屬性
  
對應使用者企業屬性
在企業系統中定義的使用者屬性可以用來自動化使用者提供程序的某部份。例如,可以根據這些企業屬性的值將使用者自動指派給某些設定檔與服務群組。
* 
在 LDAP 屬性值中,逗號無法作為分隔符號使用。請使用分號作為分隔符號。
欲將屬性從企業識別管理系統對應至 Servigistics InService 中的企業屬性,請遵循下列步驟︰
* 
本節中提供的範例使用了 PTC 和 Windchill LDAP 系統進行示範。您可以視您的環境需要編輯指令和程式碼。
1. 登入 Info*Engine Administration 公用程式。選取為包含您想要對應到使用者的其他屬性的 LDAP 進行了配置的 JNDI 轉接器。
* 
此處使用的登入識別不一定與 Servigistics InService 管理員識別相同。登入是內部 LDAP 系統的登入,並且在安裝期間設定。一般的登入和密碼組態將是 cn=Manager/admin
欲使用外部 LDAP 使用者,請選擇針對外部 LDAP 系統進行了配置的外部 JNDI 轉接器。如需詳細資訊,請參閱 配置 Servigistics InService 以使用外部 LDAP 系統
2. 導覽至您 JNDI 轉接器內容頁,並在「其他內容」部份中新增下列內容:
<service.name>.windchill.mapping.user.attributes
3. 輸入您要對應成為此內容值的內容 (以逗號分隔)。
4. 儲存該轉接器。
5. 導覽至 <InService_HOME>\InS_SW\SW\Applications\Windchill.ear\codebase.war 並開啟下列檔案:
LogicalAttributes.xml
6. 搜尋 WTUser 類別名稱的任何定義,並將您在上面所建立的屬性定義附加至此區段。例如,屬性名稱 title 定義會如下所示。請確定 LogicalForm 標籤中的值與您在上面所定義的屬性相同。屬性區分大小寫。
<Property>
<LogicalForm>title<LogicalForm>
<ExternalForm>SCA|title.key</ExternalForm>
<Property>
7. 在支援自訂的資源配套中新增下列內容:
您建立的每個屬性的所有其他定義
擷取這些屬性時需要呼叫的所有對應 Server Calculated Attribute Functions (SCAF)
例如,導覽至 <InService_HOME>\SW\Applications\Windchill.ear\src\wt\org 並修改檔案 orgModelRB.rbInfo,以新增類似下面內容的項目:
WCTYPE|wt.org.WTUser~SCA|title.key.value=Title
WCTYPE|wt.org.WTUser~SCA|title.key.abbreviatedDisplay=Title
WCTYPE|wt.org.WTUser~SCA|title.key.dataType=java.lang.String
WCTYPE|wt.org.WTUser~SCA|title.key.serverFunction=
com.ptc.core.foundation.org.server.impl.SACFLdapAttributeContainerFunction
WCTYPE|wt.org.WTUser~SCA|title.key.serverFunction.arg1=String{title}
* 
除非您寫入自己的 SCAF 函數,否則 serverFunction 的值應該與上面提供的值相同。此外,如果屬性已定義為布林值,則 key.dataType 應該為 java.lang.Boolean。不要變更 key.serverFunction 中的類型。該類型必須始終為「字串」類型。
8. 在指令提示處,透過在執行時期位置 (例如 <InService_HOME>\InS_SW\SW\Applications\Windchill.ear\codebase.war\wt\org) 執行下列指令來產生相應的 .ser 檔案︰
tools bundle -Dbundle.input=<Servigistics InService_HOME>\InS_SW\SW\
Applications\Windchill.ear\
src\wt\org -Dbundle.recurse=true
9. 導覽至 Core/src/com/ptc/sc/resource/ 並將其他屬性項目新增至 SCEnterpriseAttributesRB.java。例如,欲新增屬性 "Title",請新增下列內容:
@RBEntry("Title")
public static final String TITLE = "title";
10. 使用下列指令編譯 java 類別:
Javac -d <WT_HOME>/codebase.war/WEB-INF/classes ./SCEnterpriseAttributesRB.java
11. 以管理員身份登入 Servigistics InService,並導覽至「屬性」。選取「使用者」,並新增一個名稱與上述步驟中新增之屬性名稱相似的新屬性。在此範例中為 title。按一下「建立屬性」,在「使用者」下新增屬性。「對應」應完全與 LogicalAttributes.xml 檔案中的 ExternalForm 值一樣。例如:
Internal Name: title
Data Type: String
Display Name: Title
Description: Job Title
Mapping: SCA|title.key
12. 重新啟動 Servigistics InService 伺服器。