安裝與升級 > 安裝與組態指南 > 進階組態 > 配置其他目錄伺服器 > 使用者與群組 LDAP 屬性值對應
  
使用者與群組 LDAP 屬性值對應
Windchill 會使用在 LDAP V3 相容架構中定義之使用者與群組 LDAP 屬性的子集。依預設,針對 Windchill 預期的使用者與群組項目,您的目錄可能不會使用精確的目錄屬性。
當您對使用者或群組使用企業目錄時,可能需要修改目錄中使用的屬性,或修改用來定義使用者與群組的 LDAP 物件類別。這表示在配置 JNDI 轉接器時,必須提供額外的屬性對應內容 (attribute-mapping properties),才能將預設的 Windchill 使用者與群組屬性對應至您的 LDAP 目錄所使用的相應使用者與群組屬性。
您可以使用 LDAP 項目表單的「其他內容」部份對應內容屬性 (property attributes):
您輸入的值會儲存在指定的 JNDI 組態屬性中。重新載入屬性後,它們將由目錄服務使用。
對應 JNDI 轉接器中的內容屬性時,將使用下列格式來指定使用者、群組及組織屬性內容 (attribute properties):
主參與者
屬性 (Property) 格式
使用者
<服務_名稱>.windchill.mapping.user.<對應_識別符>
群組
<服務_名稱>.windchill.mapping.group.<對應_識別符>
組織
<服務_名稱>.windchill.mapping.org.<對應_識別符>
其中:
<服務_名稱> 是為轉接器指定的服務名稱 (LDAP 屬性表單中的「服務名稱」欄位)
<對應_識別符> 是您要對應的屬性或值
下列情境說明您可以為使用者設定物件類別的方式:
您已將 JNDI 轉接器指派服務名稱 EnterpriseDirectory1
在 Windchill 中,設定物件類別屬性時,對應識別元為 objectClass
您要針對使用者對應此屬性,因此請指定 windchill.mapping.user 格式。
Windchill 中的預設物件類別值為 "inetOrgPerson",但您要將該值設定為 "organizationalPerson"。
欲設定此屬性,您需要從 LDAP 項目表單的「其他內容」部份下完成下列動作:
1. 「內容」欄位中輸入:
EnterpriseDirectory1.windchill.mapping.user.objectClass
2. 「值」欄位中輸入:
organizationalPerson
3. 按一下「新增」
預設使用者與群組 LDAP 屬性值
以下幾節列出 Windchill 所使用的預設群組 LDAP 物件類別和屬性,以及用於其他 LDAP 目錄中的群組物件的對應物件類別和屬性。如需 Microsoft Active Directory 的特定值,請參閱「使用者與群組物件的 Microsoft Active Directory 屬性對應」部份。
使用者物件 LDAP 屬性值
指派給 LDAP 使用者物件類別的 Windchill 中的預設值為:
Windchill 使用者物件類別
<對應_識別符>
描述
LDAP 物件類別預設值
objectClass
指定用於定義目錄服務中的使用者的 LDAP 物件類別值。
inetOrgPerson
下表列出由 Windchill 識別之使用者物件的預設 LDAP 值。如有必要,請使用 <對應_識別符> 來針對您的 LDAP 目錄變更對應預設屬性值:
Windchill LDAP 使用者屬性
<對應_識別符>
描述
預設值
cn
標識可保留目錄服務中之使用者全名 (「通用名稱」) 的屬性
cn
certificateType
指定在目錄服務中註冊的使用者憑證的類型。
X.509
mail
標識可保留目錄服務中之使用者的電子郵件位址的屬性。
mail
postalAddress
標識可保留目錄服務中之使用者的郵寄地址的屬性。
postalAddress
preferredLanguage
標識可保留目錄服務中之使用者的偏好語言的屬性。
preferredLanguage
sn
標識可保留目錄服務中之使用者姓氏的屬性。
sn
o
標識可保留目錄服務中的使用者所屬之組織的屬性。
您也可以使用 usersOrganizationName 設定使用者初始組織名稱。如需詳細資訊,請參閱建立與配置 JNDI 轉接器的「設定其他內容」部份。
o
uid
標識可保留目錄服務中的使用者之使用者 ID (通常用作登入 ID) 的屬性。
uid
uniqueIdAttribute
標識可專屬確定目錄服務中之使用者的屬性。
uid
userCertificate
標識可提供目錄服務中的使用者之使用者憑證的屬性。
userCertificate
telephoneNumber
標識可保留使用者之主要電話號碼的屬性。
telephoneNumber
mobile
標識可保留使用者之行動電話號碼的屬性。
mobile
facsimileTelephoneNumber
標識可保留使用者之傳真號碼的屬性。
facsimileTelephoneNumber
labledURI
標識可保留使用者之網站 URL 的屬性。
labledURI
群組物件 LDAP 屬性值
指派給 LDAP 群組物件類別的 Windchill 中的預設值為:
Windchill 群組物件類別
<對應_識別符>
描述
預設 LDAP 物件類別
objectClass
指定用於定義目錄服務中的群組的 LDAP 物件類別值。
groupOfUniqueNames
下表列出由 Windchill 識別之群組物件的預設 LDAP 值。如有必要,請使用 <對應_識別符> 來針對您的 LDAP 目錄變更對應預設屬性值:
Windchill LDAP 群組屬性
<對應_識別符>
描述
預設值
cn
標識可保留目錄服務中之群組名稱的屬性。
cn
description
標識可保留有關目錄服務中之群組的說明文字。
description
filter
指定將新增至用於使用此 JNDI 轉接器的查詢群組中的所有 LDAP 搜尋篩選器中的其他運算式。預設情況下,不會新增其他運算式。範例:(ou=Engineering)
您也可以使用現有的 JNDI searchFilter 屬性設定篩選器。
uniqueIdAttribute
標識可保留目錄服務中之群組具唯一性名稱的屬性。
cn
uniqueMember
標識可定義目錄服務中之群組成員的屬性。
uniqueMember
使用者與群組物件的 Microsoft Active Directory 屬性對應
為了使 Windchill 能夠處理 Microsoft Active Directory 使用者物件,在定義 JNDI 轉接器時必須為使用者物件設定下列屬性對應內容:
mapping.user.objectClass=user
mapping.user.o=company
mapping.user.uid=sAMAccountName
mapping.user.uniqueIdAttribute=sAMAccountName
* 
對應值代表對應至對應識別元的屬性。例如,對應識別元 o 即對應至屬性 company
* 
假定 uid 具唯一性,因為它是用來登入 Web 伺服器的使用者 ID,所以為 mapping.user.uniqueIdAttribute 指定的值始終應該是為 mapping.user.uid 指定的同一個值。
* 
不同的 ActiveDirectory 組態 (例如 ADAM) 不會自動索引屬性。如果未建立索引,效能可能會受到影響。欲降低此可能性,請確保針對對應至 mapping.user.uniqueIdAttribute 的屬性建立索引。
下列屬性對應值以 Microsoft Active Directory 的現成安裝為基礎。您指派給這些屬性對應內容的實際值可能會視您的 Microsoft 使用中目錄安裝而有所不同:
<服務_名稱>.windchill.mapping.user.postalAddress=postalAddress
<服務_名稱>.windchill.mapping.group.objectClass=group
<服務_名稱>.windchill.mapping.user.uid=sAMAccountName
<服務_名稱>.windchill.mapping.user.cn=cn
<服務_名稱>.windchill.mapping.user.preferredLanguage=preferredLanguage
<服務_名稱>.windchill.mapping.group.uniqueMember=member
<服務_名稱>.windchill.mapping.user.mobile=mobile
<服務_名稱>.windchill.mapping.group.uniqueIdAttribute=sAMAccountName
<服務_名稱>.windchill.mapping.group.description=description
<服務_名稱>.windchill.mapping.user.mail=mail
<服務_名稱>.windchill.mapping.user.facsimileTelephoneNumber=facsimileTelephoneNumber
<服務_名稱>.windchill.mapping.user.sn=sn
<服務_名稱>.windchill.mapping.user.objectClass=user
<服務_名稱>.windchill.mapping.user.uniqueIdAttribute=sAMAccountName
<服務_名稱>.windchill.mapping.user.userCertificate=userCertificate
<服務_名稱>.windchill.mapping.user.o=company
.windchill.mapping.user.attributes=objectGUID
下列內容 (properties) 為可選 Microsoft 使用中目錄屬性 (attribute) 對應:
<服務_名稱>.windchill.mapping.user.preferredLanguage=localeID
<服務_名稱>.windchill.mapping.user.labeledURI=wWWHomePage
下表列出與 Windchill 值比較之 Microsoft Active Directory 使用者物件的預設屬性:
Windchill 與 Microsoft Active Directory 使用者物件類別
Windchill 預設 LDAP 使用者物件類別
Microsoft Active Directory 使用者物件類別
inetOrgPerson
user
* 
Microsoft Active Directory 的某些對應值可能會視使用中的 Active Directory 結構描述而有所不同,該結構描述會隨使用的 Windows 發行版本層級而變化。
Windchill 與 Microsoft Active Directory 使用者屬性
Windchill 預設 LDAP 使用者屬性
Microsoft Active Directory 使用者屬性
cn
cn
mail
mail
postalAddress
Microsoft Active Directory 使用者物件類別支援現成 postalAddress,但 Microsoft Active Directory 不會設定 postalAddress。相反,它使用許多單獨的屬性:街道地址、位置、郵遞區號及國家。
* 
如果針對此屬性指定的值包含 $ 字元且 <jndiAdapterName>.<webAppName>.config.directoryType 內容設定為 ADS$ 字元將會由新的一行取代。如需有關配置此內容的詳細資訊,請參閱 JNDI 轉接器內容
為了讓 Windchill 能夠看到 postalAddress 的值,請執行下列其中一項操作:1) 必須將所有地址資訊指派給使用者物件的 postalAddress 屬性,或 2) 可以使用另一個屬性來合併所有地址資訊,然後可在定義 JNDI 轉接器時,將該屬性對應至 postalAddress
preferredLanguage
現成 Microsoft Active Directory 沒有使用者物件的 preferredLanguage 屬性。除非您的 Microsoft Active Directory 安裝經過配置將使用者物件的其中一個屬性設定為偏好的語言值,然後在定義 JNDI 轉接器時將該屬性對應至 preferredLanguage,否則 Windchill 將不會看到 preferredLanguage 值。
sn
sn
uid
現成 Microsoft Active Directory 沒有使用者物件的 uid 屬性。相反,有兩個包含使用者 ID (uid) 資訊的屬性。
第一個為 sAMAccountName,是使用者 ID 自身。
第二個是 userPrincipalName,也就是附加了網域的使用者 ID (例如,user@myco.com)。
為使 Windchill 能夠看到 uid 值,必須在定義 JNDI 轉接器時將這些屬性中的其中一個對應到 uid。使用對應於由您的 Web 伺服器所傳送之使用者 ID 格式的屬性。
userPassword
Microsoft Active Directory 使用者物件類別支援現成 userPassword,但 Microsoft Active Directory 不會設定 userPassword
Windchill 不會看到 userPassword 值,除非 Microsoft Active Directory 安裝設定該值 (或是設定您在定義 JNDI 轉接器時對應至 userPassword 的另一屬性)。
userCertificate
userCertificate
o
Microsoft Active Directory 結構描述支援 o 作為使用者物件類別的可選屬性。但是,Active Directory 通常可能不會設定 o。因此,依預設,Windchill 會將 o 對應至公司。如有必要,您可以變更此對應。
telephoneNumber
telephoneNumber
facsimileTelephoneNumber
facsimileTelephoneNumber
mobile
mobile
labeledURI
現成 Microsoft Active Directory 沒有使用者物件的 labeledURI 屬性。而是存在一個包含相同資訊的 wWWHomePage 屬性。若要讓 Windchill 能夠看到 labeledURI 值,可在定義 JNDI 轉接器時將 wWWHomePage 對應至 labeledURI
Additional Attributes
如果選取 Active Directory 作為預設 LDAP 服務,則依預設,會填入附加屬性 objectGUID。這是 Active Directory 的必填屬性。可以將多個附加指定為用逗號分隔的清單。
objectGUID 用於唯一識別 Active Directory 中的使用者。JNDI 轉接器組態檔案會更新為包含下列項目:
<service_name>.windchill.mapping.user.attributes=<commaSeparatedValues>
Microsoft Active Directory 群組物件 LDAP 屬性
Windchill 預設 LDAP 群組物件類別
Microsoft Active Directory 群組物件類別
groupofUniqueNames
group
Windchill 與 Microsoft Active Directory 群組屬性
Windchill 預設 LDAP 群組屬性
Microsoft Active Directory 群組屬性
cn
cn
description
description
uniqueMember
現成 Microsoft Active Directory 沒有群組物件的 uniqueMember 屬性。而是存在 member 屬性。若要讓 Windchill 看到 Microsoft Active Directory 群組成員,請於定義 JNDI 轉接器時將 member 屬性對應至 uniqueMember
為了使 Windchill 能夠處理 Microsoft Active Directory 群組物件與群組成員,在定義 JNDI 轉接器時必須為群組物件設定下列屬性對應內容:
mapping.group.cn=cn
mapping.group.objectClass=group
mapping.group.uniqueMember=member