如何将地理位置属性添加到LDAP帐户
问题描述:
我有一个LDAP用户数据库映射为类posixAccount,inetOrgPerson和top的对象。如何将地理位置属性添加到LDAP帐户
我需要为用户添加纬度和经度属性。然而,这些属性似乎并没有出现在这些类中(也不在其他类中)。 inetOrgPerson仅提供诸如邮政地址,街道等参考。
是否可以向现有LDAP类添加新类或新属性?还是有没有其他的解决方案路径我错过了?
我用phpldapadmin使用openldap服务器(虽然这些都不是硬性限制)。
非常感谢, 艾伦
答
虽然这是可能的属性类型添加到标准(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。对于测试你可以伪造一个。
键入和未测试...
marabu,非常感谢您的回答!它没有按原样工作,但我会进一步分析并发布出错的地方。它看起来像一个geolocation.diff文件丢失。 –
如何生成geolocation.ldif文件? –
作为OpenLDAP管理员,找到包含模式扩展名的文件夹,将上面的模式条目复制并粘贴到首选文本编辑器中,并保存为geolocation.schema。不要忘记调整地理位置OID。 – marabu