OpenLDAP-将open-ldap定义的属性添加到自定义类

时间:2018-07-16 08:35:30

标签: ldap openldap

我想创建一个名为request的对象类,它将具有requestIDrequestTypetimestamp之类的字段。

requestType是字符串,创建方式如下:

attributetype ( <some oid> NAME 'requestType' DESC 'the type of the request' EQUALITY caseExactMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.44{250} )

我不想使用自定义属性requestIDtimestamp,而是要使用openldap定义的属性,例如entryUUIDcreateTimestamp,这样我就不必处理在客户端为请求生成UUID或时间戳时,如何实现?

这是我的对象类架构定义现在的样子,

objectclass ( <some oid> NAME 'request' SUP top STRUCTURAL DESC 'request' MUST ( requestType ))

2 个答案:

答案 0 :(得分:2)

属性 entryUUID createTimestamp 是所谓的操作属性,无论如何它们都会添加到每个LDAP条目中。无需在架构中显式添加它们。

但是,当查询LDAP条目时,您必须在LDAP搜索请求中明确列出这些属性(例如,在ldapsearch命令行中)。否则,OpenLDAP服务器将不会返回它们。

顺便说一句:我不确定您要达到什么目的,但是您是否看过OpenLDAP的叠加层slapo-accesslog

答案 1 :(得分:1)

如果要为requestIDtimeStamp设置特定的值,则必须定义自己的属性,则不能使用操作属性entryUUIDcreateTimestamp。这些属性由服务器管理,值由服务器控制/生成。它们无意用作用户数据。

您可以定义具有相似语法的属性。