如何使用JavaScript执行LDAP查询?

如何使用JavaScript执行LDAP查询?,javascript,ldap,Javascript,Ldap,我正在尝试制作一个边栏小工具,它具有LDAP查询功能,但是还没有找到关于这个问题的非常好的或任何有用的文档。我对Javascript没有太多的经验,对LDAP查询的功能几乎一无所知,所以任何信息都是有用的 信息: 主持人:a.b.c.d.e 港口:389 欧:人 o:x_y_z c:美国 第一段: var sSearchURL = "ldap://a.b.c.d.e:389/o=x_y_z,c=us"; var URLsuffix = "dc=" + form.SearchData.valu

我正在尝试制作一个边栏小工具,它具有LDAP查询功能,但是还没有找到关于这个问题的非常好的或任何有用的文档。我对Javascript没有太多的经验,对LDAP查询的功能几乎一无所知,所以任何信息都是有用的

信息:

  • 主持人:a.b.c.d.e
  • 港口:389
  • 欧:人
  • o:x_y_z
  • c:美国
第一段:

var sSearchURL = "ldap://a.b.c.d.e:389/o=x_y_z,c=us";
var URLsuffix = "dc=" + form.SearchData.value;
document.location = sSearchURL URLsuffix;
其他片段:

var ldap = GetObject('LDAP:');
var ad = ldap.OpenDSObject(
  'LDAP://a.b.c.d.e:389/o=x_y_z',
  'cn=Administrator,ou=People,o=rootname',
  'password',
  0
);

只要您想在web浏览器中运行JavaScript,您就只能使用HTTP协议和从中加载脚本的域

因此,无法从web浏览器JavaScript引擎与LDAP服务器通信


有一些JavaScript运行时环境限制较少,您可以在这些环境中实现套接字服务器和客户端。对于LDAP Conencity,您必须编写自己的库或查找一些现有库。

您可以编写一个代理web服务,将HTTP请求转换为LDAP查询,将它们转发到LDAP服务器并将结果返回给您。当然,这对安全性和可伸缩性都有影响,而且绝不是微不足道的。

我不确定答案1是否正确。域将限于active directory ldap查询的客户端域。但是,LDAP://服务器不仅限于本地域。它仅限于“可访问”域。如果您可以ping它,您应该能够查询它,并提供适当的凭据。

正如SelfAwareUp已经提到的,单独在客户端执行此操作有一些限制,但是,如果您能够在nodejs上托管应用程序/页面,您可以使用LDAP插件

NodeJ的链接如下所示:

Nodejs LDAP插件:

关于设置节点以服务http的说明:

尽管它是针对特定应用程序的,但这里有一本手册演示了通过nodejs集成LDAP查询:

下面是它的工作演示(注意,这是用于查询面向公共的LDAP服务器):


祝你好运,但是你解决了这个问题。

目标是为特定姓名搜索调出电子邮件、办公室、电话等信息。也就是说,搜索ted,可能会得到3个结果(ted jones、bill teddings等+有关被搜索个人的所有信息),可能很快就会使用WASM?NB:一个可能的(但讨厌的)解决方法是使用VBScript;仅在IE中可用。您可以单独使用它,或者通过VBScript更新DOM,然后使用JS从DOM读取数据。一个更好的选择是托管一个web服务,该服务在LDAP上为您提供一个API层。“首先加载脚本的域”意味着您只能从一个域加载脚本,这是不正确的?您能给出简短的说明或解释吗?只是因为URL有时不会长久。如果我有时间,我会坐下来写一些更详细的东西来帮助我,干杯。