我想创建一个名为request
的对象类,它将具有requestID
,requestType
和timestamp
之类的字段。
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} )
我不想使用自定义属性requestID
和timestamp
,而是要使用openldap定义的属性,例如entryUUID
和createTimestamp
,这样我就不必处理在客户端为请求生成UUID或时间戳时,如何实现?
这是我的对象类架构定义现在的样子,
objectclass ( <some oid> NAME 'request' SUP top STRUCTURAL
DESC 'request'
MUST ( requestType ))
答案 0 :(得分:2)
属性 entryUUID 和 createTimestamp 是所谓的操作属性,无论如何它们都会添加到每个LDAP条目中。无需在架构中显式添加它们。
但是,当查询LDAP条目时,您必须在LDAP搜索请求中明确列出这些属性(例如,在ldapsearch命令行中)。否则,OpenLDAP服务器将不会返回它们。
顺便说一句:我不确定您要达到什么目的,但是您是否看过OpenLDAP的叠加层slapo-accesslog?
答案 1 :(得分:1)
如果要为requestID
和timeStamp
设置特定的值,则必须定义自己的属性,则不能使用操作属性entryUUID
和createTimestamp
。这些属性由服务器管理,值由服务器控制/生成。它们无意用作用户数据。
您可以定义具有相似语法的属性。