自定义schema的时候不仅要定义attributetype还要定义objectclass(程序或者ldif文件中是objectClass,大小写注意)。
增加一个节点,属性中至少需要定义一个objectClass,而且要注意objectClass里面MUST值,这是必须要写的,不然就会报错,如果想在属性中增加另外的objectClass,如果MUST值没有可以直接增加,如果有的话还必须要同时把需要的那个属性值增加上去
objectClass分为3种类型:"ABSTRACT" / "STRUCTURAL" / "AUXILIARY"
一般来说每个节点都要包含一个ABSTRACT类("top" or "alias"), 至少一个STRUCTURAL类,0个或者多个AUXILIARY类。
例如core.schema中已定义的
objectclass ( 2.5.6.6 NAME 'person'
DESC 'RFC2256: a person'
SUP top STRUCTURAL
MUST ( sn $ cn )
MAY ( userPassword $ telephoneNumber $ seeAlso $ description ) )
objectclass ( 2.5.6.15 NAME 'strongAuthenticationUser'
DESC 'RFC2256: a strong authentication user'
SUP top AUXILIARY
MUST userCertificate )
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/njchenyi/archive/2008/01/16/2046923.aspx
分享到:
相关推荐
“Object Class Violation”错误提示是LDAP使用过程中常见的问题之一。通过理解对象类的概念、明确错误的原因以及采取相应的解决措施,可以有效地解决此类问题。在处理类似问题时,仔细检查配置文件、清理无效数据、...
在 LDAP 中,objectClass 的定义可以来自多个来源,包括标准的 LDAP_schema、 vendor-specific schema 和自定义的 schema。每个 objectClass 都有其对应的属性和语义,这些属性可以是必须的、可选的或是禁止的。 ...
LDAP Schema是LDAP目录服务的重要组成部分,它通过定义ObjectClass、Attribute、Syntax和Matching Rules等核心要素,确保了目录数据的一致性和完整性。了解这些基本概念对于正确配置和管理LDAP服务器至关重要。希望...
# ldapsearch -x -b '' -s base '(objectclass=*)' ``` 如果看到有相关信息输出,就说明 OpenLDAP 已经正常运行了。 步骤5:建立根 最后,需要建立根目录。使用以下命令: ``` # touch base.ldif ``` 并编辑 `base...
3. **ObjectClass**:定义实体可以拥有的属性及其必需属性,形成了层次化的结构。 4. **Schema**:由Object Classes和属性类型组成,定义了可存储在目录中的实体类型。 #### 五、构建目录树与信息编目 1. **构建...
(&(|(objectclass=dominoPerson)(objectclass=dominoGroup)(objectclass=dominoServerMailInDatabase))(mail=*)) ``` - **解析**:此查询返回Lotus Domino LDAP中所有被标记为"dominoPerson"或"dominoGroup"的...
| objectClass:object_class | 对象类,用于定义条目所遵循的规则集,标识了哪些属性是必需的以及哪些是可选的。 | | attribute_type | 属性类型,应在模式中定义。 | | [subtype] | 可选。指定属性值的子类型:...
SearchRequest.Filter := '(objectClass=user)'; SearchRequest.Scope := sdSubtree; Results := LDAPClient.Execute(SearchRequest); // 处理Results中的数据 finally SearchRequest.Free; end; end; ``` 5...
ldap.auth.userObjectsFilter=(objectclass=posixAccount) ``` 3. 启用 LDAP 认证:在 confluence/WEB-INF/classes/confluence-init.properties 文件中添加以下配置,启用 LDAP 认证: ``` confluence.authenticate....
- `ldap_search_s(ld, sdn, LDAP_SCOPE_SUBTREE, "(objectclass=*)")`:搜索整个子树(`LDAP_SCOPE_SUBTREE`)下满足`objectclass=*`条件的所有条目。 - 循环遍历每个搜索结果条目,并打印出DN以及所有属性值。 #####...
objectClass: organizationalRole cn: appuser 新建文件 init3.ldif,此文件就是雇员的 LDAP 用户: dn: cn=GUESTCST,dc=hysh,dc=com cn: GUESTCST description: username=GUESTCST password=GUESTCST objectClass...
objectClass: organizationalPerson objectClass: inetOrgPerson cn: John Doe sn: Doe givenName: John uid: jdoe userPassword: password ``` 这段代码定义了一个名为“John Doe”的用户,拥有多个对象类,并包含...
LDAP 支持对条目能够和必须支持哪些属性进行控制,这是有一个特殊的称为对象类别(ObjectClass)的属性来实现的。该属性的值决定了该条目必须遵循的一些规则,其规定了该条目能够及至少应该包含哪些属性。例如:...
如何将对ldap的操作与对oracle的操作封装在一个事务中? 如何处理分布的database,LDAP事务? 详见项目代码 其中测试文件位置:src\test\com\aua\service\impl\StudentServiceTest.java spring配置文件位置: src...
5. **搜索过滤器(Search Filter)**:在 LDAP 搜索时使用的条件表达式,如 `(objectClass=person)`。 **PHP LDAP 函数** 1. **ldap_connect()**:创建到 LDAP 服务器的连接。 2. **ldap_bind()**:绑定到 LDAP ...
例如,`(&(objectClass=user)(uid=bob))` 这个过滤器会返回所有用户类(objectClass=user)且用户名为 bob 的条目。 4. **LDAP目录结构**:理解目录结构是有效使用 LDAP 的前提。目录通常由一系列具有层级关系的...
String filter = "(objectClass=*)"; LDAPSearchResults results = connection.search("dc=example,dc=com", LDAPConnection.SCOPE_SUB, filter, null, false); while (results.hasMore()) { LDAPEntry entry =...
NamingEnumeration results = ctx.search("ou=people,o=tcl,c=cn", "(objectClass=inetOrgPerson)", new SearchControls()); ``` 这些操作都可以使用 `DirContext` 对象来实现。开发者可以根据需要选择合适的方法来...