安裝與升級 > 安裝與組態指南 > 進階組態 > 配置其他企業目錄 > 建立及配置 JNDI 轉接器
  
建立及配置 JNDI 轉接器
當連接至其他命名或目錄服務 (例如 LDAP 服務) 時,您必須建立及配置 Java Naming and Directory Interface (JNDI) 轉接器。JNDI 轉接器可讓您連接至可使用 JNDI 系統存取的多個命名與目錄介面,包括企業目錄伺服器。JNDI「服務提供者介面」(SPI) 提供將命名與目錄服務整合至 JNDI 架構的方法。欲連接至目錄,JNDI 轉接器需要適當的 JNDI 服務提供者。
JNDI 組態流程實際包括兩個主要步驟:
1. 建立 JNDI 轉接器項目
2. 設定其他屬性
建立 JNDI 轉接器項目
轉接器屬性是作為 Info*Engine 轉接器 LDAP 項目中的屬性來維護的。請使用 Info*Engine「屬性管理」公用程式來新增或修改 Info*Engine 轉接器 LDAP 項目。可以導覽至「網站」 > 「公用程式」並按一下「Info*Engine 管理」,來存取屬性管理公用程式。
欲建立新轉接器服務 LDAP 項目,請從 「屬性管理」主頁上的「建立項目」下拉選單中選取「JNDI 轉接器」Info*Engine。將值輸入至表單;表單中的必填欄位以星號 (*) 指示。
如需有關使用 Info*Engine「屬性管理」公用程式的資訊,請參閱屬性管理主頁
所有轉接器 LDAP 項目表單都包括以下欄位:
服務名稱
辨別名稱
執行時期服務名稱
屬性管理公用程式會以建議的名稱自動填入「服務名稱」「辨別名稱」「執行時期服務名稱」欄位。這些名稱以您登入至管理公用程式時提供的資訊以及儲存在表單中的資訊為基礎:
「服務名稱」- 確保此名稱具唯一性。如果您要提供新名稱,請在使用句號字元 (".") 時給予特別考慮,如下所述。
「辨別名稱」- 使用屬性管理公用程式建議的名稱。如果您輸入新服務名稱,辨別名稱欄位會相應地更新。
「執行時期服務名稱」- 此名稱必須與服務名稱相同。
您可以選擇變更這些名稱,以符合針對您的網站 LDAP 項目設定的條件。但是請注意,在命名新 JNDI 轉接器時,句號字元 (".") 擁有具唯一性的含意。包括句號字元 (".") 會影響必須用於相應存放庫定義之名稱的格式。
許多存放庫名稱與存放庫類型皆可指定階層結構,其需要格式為網際網路網域的值。因此,為 Info*Engine 轉接器指定的名稱通常應該是,可影響轉接器與其部署所在網路之間的關係。例如:
com.company.host.Ldap
由於此服務名稱包括句號字元 ("."),因此您需要在建立及命名新存放庫定義時反轉名稱的幾個部份。因此,如果您選擇命名 JNDI 轉接器 com.company.host.Ldap,必須命名相應的 Info*Engine 存放庫:
Ldap.host.company.com
為避免此情況,您提供的轉接器名稱不能包括句號 (".") 字元。例如,如果您命名 JNDI 轉接器 EnterpriseDirectory1,則您也要命名相應的存放庫定義 EnterpriseDirectory1。如需建立新存放庫定義的指示,請參閱建立存放庫定義
* 
只有當將 Windchill 連接至維護使用者與群組資訊的 LDAP 目錄服務時,才需要此類命名慣例需求。但是,其他 Info*Engine 整合組態不需要此類需求。
服務類別
「服務類別」屬性可識別轉接器的 Java 類別。使用屬性管理公用程式提供的預設值。
序列化類型
主機
提供者 URL
指定用來存取企業目錄伺服器的 URL。
搜尋庫
指定所有使用者資訊皆位於其下的 LDAP 節點的辨別名稱。所有使用者搜尋都將使用此內容作為庫。
目錄系統代理使用者
目錄系統代理認證
這些項目可用來定義存取企業目錄之 Windchill 使用者的辨別名稱與密碼。但是,PTC 建議應將這些欄位保留空白,而您應改為使用 MapCredentials 檔案。如需詳細資訊,請參閱在 MapCredentials.xml 檔案中設定驗證
序列化類型
主機
除非您有特殊理由,否則其他所有欄位都應保留空白。
您可以使用以下選項找到有關保留轉接器屬性的詳細資訊:
將游標移到屬性名稱上可檢視屬性的簡短描述。
按一下屬性名稱可開啟描述每個屬性的頁面。
按一下表單中的說明連結。
請參閱 JNDI 轉接器屬性
設定其他屬性
將您的企業目錄屬性與 Windchill 屬性進行比較以確定何處存在差異。Windchill 使用者與群組屬性將在使用者與群組 LDAP 屬性值對應中介紹。在比較屬性定義時,使用此資訊。
如果未在表單上定義屬性,可以在「其他內容」欄位中進行新增。新增其他屬性時,屬性名稱由轉接器項目的名稱 (LDAP 項目表單上「服務名稱」欄位的值),以及後跟的屬性名稱組成。例如:
<服務_名稱>.pageSize
如有必要,請設定以下其他屬性。您可以使用 LDAP 項目表單上的「其他內容」欄位來進行新增:
windchill.config.readOnly
將此屬性設定為 TRUE 可指示目錄不允許在 Windchill 中執行修改。否則,不需要此屬性或者可以將其設定為 FALSE。
windchill.config.doesNotContainGroups
將此屬性設定為 TRUE 可指示目錄不包含群組且不應在其中搜尋群組。否則,不需要此屬性或者可以將其設定為 FALSE。
windchill.config.directoryType
只有在使用 Microsoft Active Directory 時才需要此屬性;否則,會忽視此屬性。
設定此屬性可提示轉接器以與 Microsoft Active Directory 唯一相容的方式處理某些請求:
<服務_名稱>.windchill.config.directoryType=ADS
設定後,此屬性會自動啟用分頁搜尋。欲配置分頁搜尋,請使用 pageSizepagedSizeLimit 屬性。如需詳細資訊,請參閱 JNDI 轉接器屬性
* 
可以針對任何目錄類型配置分頁搜尋,但是依預設,只有在使用 Microsoft Active Directory 時才會啟用。欲針對其他目錄類型啟用分頁搜尋,請設定 pageSize 屬性。
windchill.mapping.user.attributes
指定適用於 Windchill 且位於參與者快取中的 LDAP 屬性。例如,由 Windchill 存取的常用屬性可能為:
user.getAttributes().get(“<LDAP 屬性名稱>”);
以逗號分隔清單的形式輸入屬性。
windchill.mapping.usersOrganizationName
有兩種方法可將組織名稱指派給使用者。如果未向使用者指派組織,他們便無法存取任何子前後關聯 (例如產品、專案與物件庫) 中的資料。您使用的方法依據您是否需要識別多個組織而定:
如果您的系統有多個組織且您需要將不同組的使用者關聯至不同組織,可以將組織屬性指派給目錄伺服器中的每個使用者項目。在 Windchill 中,指派給組織屬性的值是將使用者指派至的組織。
依預設,當查詢使用者的組織名稱時,Windchill 會識別目錄伺服器中的 o 屬性。如果您的目錄伺服器不使用 o 屬性,則您必須使用以下屬性定義要與組織名稱相關聯的屬性:
<服務_名稱>.windchill.mapping.user.o=<組織_屬性_名稱>
其中 <服務_名稱> 是轉接器的服務名稱,<組織_屬性_名稱> 是目錄伺服器中用來關聯使用者與組織名稱的屬性。
如果透過 JNDI 轉接器存取的所有使用者都屬於相同組織,您可以藉由新增 usersOrganizationName 屬性來指派使用者的組織名稱:
<服務_名稱>.windchill.mapping.usersOrganizationName=<組織_名稱>
您針對此屬性設定的值代表指派給透過此轉接器存取之所有使用者的組織名稱。
若使用,此屬性會取代在目錄伺服器的使用者項目中定義的任何組織屬性。Windchill 只使用 usersOrganizationName 屬性的值。如需詳細資訊,請參閱管理使用者的資料存取權限
如需對應屬性值的詳細資訊,請參閱使用者與群組 LDAP 屬性值對應