Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js ldap节点JS active directory身份验证_Node.js_Authentication_Active Directory_Ldap - Fatal编程技术网

Node.js ldap节点JS active directory身份验证

Node.js ldap节点JS active directory身份验证,node.js,authentication,active-directory,ldap,Node.js,Authentication,Active Directory,Ldap,我目前正在node.js中开发一个web应用程序,用户需要登录才能访问该信息。我想使用外部active directory服务器检查用户登录名和密码。我尝试过使用node ldapauth,但我无法让它工作(我不知道它是否适用于活动目录,可能只是openLdap)。有什么建议吗?你能发布你的代码片段和错误吗 我正试图做类似的事情,偶然发现了图书馆。它允许您实现到ldap服务器的客户端ldap连接,并且您可以在连接过程中验证用户的用户名和密码 我试着用0.8.2在windows上安装它,但遇到了一

我目前正在node.js中开发一个web应用程序,用户需要登录才能访问该信息。我想使用外部active directory服务器检查用户登录名和密码。我尝试过使用node ldapauth,但我无法让它工作(我不知道它是否适用于活动目录,可能只是openLdap)。有什么建议吗?

你能发布你的代码片段和错误吗

我正试图做类似的事情,偶然发现了图书馆。它允许您实现到ldap服务器的客户端ldap连接,并且您可以在连接过程中验证用户的用户名和密码


我试着用0.8.2在windows上安装它,但遇到了一些问题,这听起来像是开发人员正在关注的问题。这个库的优点在于它不依赖于您引用的OpenLDAP绑定。

为了让ldapjs安装在Windows上运行,我在这里编写了我遵循的步骤


希望这有帮助。

我使用rubyldap库解决了这个问题,谢谢

更新:根据要求,这是我用来解决问题的库

在服务器上安装ruby库后,使用gem安装(查找它并不太难)

如上图所示设置一个ruby文件

您可以使用

var ldap = 'ruby '+process.cwd()+'/src/ruby/ruby_file_name '+ user+' '+password;
要在ruby中获取用户和密码,请使用ARGV[0]和ARGV。 您可以使用回调函数在node.js中获取ruby返回的结果

var result = exec(ldap, theCallBack);
在回调函数中,您可以通过传递stdout来获取返回的ruby库结果

例:


希望这有帮助

提到的问题是Windows上的安装问题。因此,我的一段代码看起来就像ldapauth库中使用的示例代码。如果我使用console.log(ldap),我在返回连接中会得到如下内容:{pair:[对象],可写:true,可读:true,_暂停:false,_需要排水:false,_挂起:[],_挂起回调:[],_挂起字节:0,套接字:[Object],加密:[Object],等等等等。当我调用ldap.authenticate时,什么都没有发生,这让我觉得它可能不适用于active directory。在我的例子中,active directory服务器已经设置了目录中的所有用户信息,所以我真的没有选择更改我正在运行的ldap的类型,因为它是一家公司Active Directory如果您可以编辑此答案,以包含有关您使用的解决方案的更多信息/链接/代码,这样它就可以帮助可能有此问题的其他人,那就太好了。
var result = exec(ldap, theCallBack);
function theCallBack(err,stdout) {
    ----your code here, stdout is what you PUT in the ruby library.