2017-02-13 61 views
0

我有一個LDAP用戶數據庫映射爲類posixAccount,inetOrgPerson和top的對象。如何將地理位置屬性添加到LDAP帳戶

我需要爲用戶添加緯度和經度屬性。然而,這些屬性似乎並沒有出現在這些類中(也不在其他類中)。 inetOrgPerson僅提供諸如郵政地址,街道等參考。

是否可以向現有LDAP類添加新類或新屬性?還是有沒有其他的解決方案路徑我錯過了?

我用phpldapadmin使用openldap服務器(雖然這些都不是硬性限制)。

非常感謝, 艾倫

回答

2

雖然這是可能的屬性類型添加到標準(RFC)對象類,你不應該這樣做。 vCard-4.0草稿方便地定義了屬性latLong(section 3.14)。您可以使用該屬性類型創建一個輔助對象類型,稍後您可以使用該類型將GPS座標添加到條目中。

創建一個文件 「geolocation.schema」,如:

# latLong 
# Represents a geographical location using the WGS84 data coordinates 
# as used by GPS, like: -33.92;151.28 
attributetype (1.3.6.1.4.1.33592.1.3.14 NAME 'latLong' 
    EQUALITY caseIgnoreMatch 
    SUBSTR caseIgnoreSubstringsMatch 
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 
) 

# geoLocation 
# The geoLocation auxiliary class allows GPS coordinates to be added 
# to an object 
objectclass (your-company-oid-prefix-as-provided-by-IANA.your-oc-convention 
    NAME 'geoLocation' 
    DESC '' 
    AUXILIARY 
    MAY (latLong) 
) 

在你slapd.conf文件中添加一個include語句模式文件。新的對象類在重新啓動LDAP服務器後可用。

如果您的組織還沒有OID前綴get one。對於測試你可以僞造一個。

鍵入和未測試...

+0

marabu,非常感謝您的回答!它沒有按原樣工作,但我會進一步分析併發布出錯的地方。它看起來像一個geolocation.diff文件丟失。 –

+0

如何生成geolocation.ldif文件? –

+0

作爲OpenLDAP管理員,找到包含模式擴展名的文件夾,將上面的模式條目複製並粘貼到首選文本編輯器中,並保存爲geolocation.schema。不要忘記調整地理位置OID。 – marabu