我有一个LDAP用户数据库映射为类posixAccount,inetOrgPerson和top的对象。
我需要向用户添加纬度和经度属性。但是,这些类似乎没有这些属性(在其他类中也没有)。 inetOrgPerson仅提供诸如postalAddress,street等参考。
是否可以向现有LDAP类添加新类或新属性?或者我还缺少其他解决方案吗?
我使用带有phpldapadmin的openldap服务器(虽然这些不是硬约束)。
非常感谢, 阿兰
答案 0 :(得分:2)
虽然可以将属性类型添加到标准(RFC)对象类,但您不应该这样做。 vCard-4.0草案方便地定义了属性latLong(section 3.14)。您可以使用该属性类型创建辅助objectClass,稍后您可以使用该属性类型将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。对于测试,你可以伪造一个。
键入但未测试...