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