是否可以在没有仅具有属性的 RDN 的情况下创建进入 LDAP 服务器的条目?

Is it possible to create entry into LDAP server without RDN with only attributes?

我们正在使用 ldapjs 节点模块与 LDAP 服务器(如 Microsoft Active Directory、Apache DS 和 Open LDAP)进行通信。根据我们对 here 的理解:

DNs can be comprised of zero or more components, which means that it is legal to have a DN without any components at all.

是否可以在我的基本 DN 中创建仅具有属性而没有任何 RDN 的 LDAP 服务器条目?

例如,如果我想在没有 RDN 的情况下创建 inetOrgPerson 到 LDAP 服务器的条目,则创建条目如下:

var ldap = require('ldapjs');
var client = ldap.createClient({  
  url: 'ldap://xxxxxxxx:389'
});
client.bind('xxxxxxxx', 'xxxxxxxxx', function(err) {
  if(err){
      console.log('error',err);
  }else{
      console.log('bind is success');
  }
});

var newDN = "ou=testou,dc=xxxx,dc=com";
var newUser = {    
    objectClass: 'inetOrgPerson',
    sn: 'test'
  }

client.add(newDN, newUser, function(err) {  
  if(err){
      console.log('error',err);
  }else{     
      client.unbind(function(err) {
          if(err){
              console.log('error unbind : ',err);
          }else{
              console.log('unbind is success');
          }
        });
  }
})

执行上面的代码后,OU testou 中应该有一个条目,其中 sntest。任何输入都会有所帮助。谢谢你们。

虽然拥有零组件的 DN 是合法的,但它是为 rootDSE 保留的。 任何条目都必须具有非空 DN,因此必须具有非空 RDN。