我正在将应用程序从 php 迁移到 nodejs,但在访问我们的 ldap 服务器时遇到问题。
php 代码使用匿名绑定到 ldap 服务器:
php 代码段:
$ds= ldap_connect("ldap.example.com");
ldap_set_option($ds, LDAP_OPT_NETWORK_TIMEOUT, 2);
$r= ldap_bind($ds);read-only access
我不确定用于匿名绑定的 nodejs 语法。 到目前为止,我的代码是:
Nodejs 代码段:
var assert = require('assert');
var ldap = require('ldapjs');
var client = ldap.createClient({
url: 'ldap://ldap.example.com',
reconnect: true
});
console.log("after createClient");
// b ind 代码放在这里 client.bind();
由于这是一个仅用于执行查找的通用 ldap 服务器,因此我不需要经过身份验证的绑定,只需匿名绑定,但是绑定语句中的括号之间应该放什么?
答案 0 :(得分:0)
根据 RFC 4513(LDAP 身份验证方法和安全机制):
<块引用>5.1.1。简单绑定的匿名认证机制
LDAP 客户端可以使用匿名身份验证机制 显式建立匿名的简单 Bind 方法 通过发送名称值为 的 Bind 请求来授权状态 零长度并指定简单的身份验证选择 包含长度为零的密码值。
...这应该有效:
client.bind('', '', callback);