php - 我可以使用类似于使用 php 的 ldapjs 创建匿名绑定吗?
问题描述
我正在将应用程序从 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 服务器,因此我不需要经过身份验证的绑定,只需要一个匿名绑定,但是绑定语句中的括号之间应该有什么?
解决方案
根据RFC 4513(LDAP 身份验证方法和安全机制):
5.1.1。简单绑定的匿名认证机制
LDAP 客户端可以使用简单 Bind 方法的匿名身份验证机制,通过发送名称长度为零的 Bind 请求并指定包含零长度密码值的简单身份验证选项来显式建立匿名授权状态。
...这应该工作:
client.bind('', '', callback);
推荐阅读
- c++ - 在 Visual Studio 2019 中编译 ATL 项目时,propidlbase.idl 中的重新定义错误
- reactjs - 如何使用 react-bootstrap 组件和 react-select 菜单解决 z-index 问题?
- php - 注意:第 32 行 C:\xampp\webb\htdocs\smart logger\forms.php 中的数组到字符串转换
- reactjs - 反应原生
- html - 手机版一直按img转成水平位置?
- python - 置换算法:为什么 arr[i] + perm(all_but_not_i) 和 perm(all_but_not_i)+arr[i] 一样?
- html - 如何制作一个在我的背景图像上滚动的超大屏幕?
- oracle - 创建过程oracle sql developer时出现异常错误
- pygame - pygame背景图像不显示
- java - java.lang.NoClassDefFoundError:org.bouncycastle.asn1.ASN1Encodable