我可以使用类似于使用 php 时的 ldapjs 创建匿名绑定吗?

时间:2021-02-16 17:41:45

标签: php node.js ldap

我正在将应用程序从 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 服务器,因此我不需要经过身份验证的绑定,只需匿名绑定,但是绑定语句中的括号之间应该放什么?

1 个答案:

答案 0 :(得分:0)

根据 RFC 4513(LDAP 身份验证方法和安全机制):

<块引用>

5.1.1。简单绑定的匿名认证机制

LDAP 客户端可以使用匿名身份验证机制 显式建立匿名的简单 Bind 方法 通过发送名称值为 的 Bind 请求来授权状态 零长度并指定简单的身份验证选择 包含长度为零的密码值。

...这应该有效:

client.bind('', '', callback);