0

我们使用 ldapjs 节点模块与 Microsoft Active Directory、Apache DS 和 Open LDAP 等 LDAP 服务器进行通信。根据我们从这里的理解:

DN 可以由零个或多个组件组成,这意味着拥有一个完全没有任何组件的 DN 是合法的。

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

例如,如果我想在inetOrgPerson没有 RDN 的情况下在 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 testouwith snas中有条目test。任何输入都会有所帮助。谢谢你们。

4

1 回答 1

0

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

于 2020-04-09T08:18:52.427 回答