简介(Summary)
ldapjs-client-sync
基于node-ldapjs的Client API部分封装出Client API的同步方法,便于客户端逻辑的编写,避免回调地狱。
所有ldapjs-client-sync
的API及API参数都可参考node-ldapjs官方文档。
环境
开发环境:Node >= 12.21.0
安装(Install)
-
npm
安装
npm i ldapjs-client-sync --save
-
cnpm
安装
cnpm i ldapjs-client-sync --save
API
new LDAP()
返回一个LDAP
实例,该实例为基于ldap.Client
进行封装,添加了同步的方法。下文中所有的ldap
都是指该LDAP
类的实例,并非ldapjs
中原生的ldap.Client
实例。
该实例用于调用connect()
方法。
示例:
const LDAP = require('ldapjs-client-sync');
const ldap = new LDAP();
ldap.connect()
连接服务器,该方法参数详见官方文档中ldap.createClient()
方法的参数
如果连接成功,将返回客户端对象,所有同步方法都在该客户端对象中。
示例:
const LDAP = require('ldapjs-client-sync');
const ldap = new LDAP(); // 创建ldap实例
// 连接服务器,获取客户端对象
const client = await ldap.connect({
url: ['ldap://127.0.0.1:1389', 'ldap://127.0.0.2:1389']
});
client.bindSync()
bind
的同步方法,参数详见官方文档-bind()方法
示例:
const LDAP = require('ldapjs-client-sync');
const ldap = new LDAP(); // 创建ldap实例
// 连接服务器,获取客户端对象
const client = await ldap.connect({
url: ['ldap://127.0.0.1:1389', 'ldap://127.0.0.2:1389']
});
// 绑定客户端到指定DN
await client.bindSync('cn=admin,dc=example,dc=org', 'my_password');
client.searchSync()
search
的同步方法,参数详见官方文档-search()方法
示例:
const LDAP = require('ldapjs-client-sync');
const ldap = new LDAP(); // 创建ldap实例
// 连接服务器,获取客户端对象
const client = await ldap.connect({
url: ['ldap://127.0.0.1:1389', 'ldap://127.0.0.2:1389']
});
// 绑定客户端到指定DN
await client.bindSync('cn=admin,dc=example,dc=org', 'my_password');
// 搜索指定DN的数据
const result = await client.searchSync('o=my_organization,dc=example,dc=org');
console.log(result.objects[0]);
client.addSync()
add
的同步方法,参数详见官方文档-add()方法
client.delSync()
del
的同步方法,参数详见官方文档-del()方法
client.modifySync()
modify
的同步方法,参数详见官方文档-modify()方法
client.modifyDNSync()
modifyDN
的同步方法,参数详见官方文档-modifyDN()方法
client.starttlsSync()
starttls
的同步方法,参数详见官方文档-starttls()方法
client.unbindSync()
unbind
的同步方法,参数详见官方文档-unbind()方法