我们正在使用ldapjs节点模块与LDAP服务器(例如Microsoft Active Directory,Apache DS和Open LDAP)进行通信。根据我们对here的理解:
DN可以包含零个或多个组件,这意味着拥有完全不包含任何组件的DN是合法的。
是否可以在仅具有属性的LDAP服务器中创建条目,而在我的基本DN中没有任何RDN?
例如,如果我想在没有RDN的LDAP服务器中创建inetOrgPerson
条目,则如下创建条目:
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
中输入sn
为test
。任何输入都会有所帮助。谢谢你们。
虽然具有零组成部分的DN是合法的,但它是为rootDSE保留的。任何条目都必须具有非空DN,因此必须具有非空RDN。