ldap nodejs主动目录authentication
我目前正在使用node.js中的一个Web应用程序,用户需要login才能访问这些信息。 我想检查用户login名和密码与外部活动目录服务器。 我曾尝试使用node-ldapauth,但我无法得到它的工作(我不知道它是否适用于活动目录,也许只是openLdap)。 有什么build议么?
我使用rubyldap库来解决问题,谢谢!
更新:根据要求,这是我用来解决问题的库https://github.com/ruby-ldap/ruby-net-ldap/
在服务器上安装ruby库之后,使用gem install(查看它不是太难)
require 'rubygems' require 'net/ldap' ldap = Net::LDAP.new :host => server_ip_address, :port => 389, :auth => { :method => :simple, :username => "cn=manager, dc=example, dc=com", :password => "opensesame" } filter = Net::LDAP::Filter.eq("cn", "George*") treebase = "dc=example, dc=com" ldap.search(:base => treebase, :filter => filter) do |entry| puts "DN: #{entry.dn}" entry.each do |attribute, values| puts " #{attribute}:" values.each do |value| puts " --->#{value}" end end end p ldap.get_operation_result
设置一个ruby文件,如上所示。
你可以使用运行ruby库
var ldap = 'ruby '+process.cwd()+'/src/ruby/ruby_file_name '+ user+' '+password;
要获取用户和密码在ruby使用ARGV [0]和ARGV 1 。 您可以使用callback函数来获取node.js中ruby返回的结果
var result = exec(ldap, theCallBack);
在callback函数中,你可以通过传入标准输出获取返回的ruby库结果
例如:
function theCallBack(err,stdout) { ----your code here, stdout is what you PUT in the ruby library.
希望这可以帮助!
你可以发布你的代码snipet和你得到的错误吗?
我试图做类似的事情,并遇到了ldapjs图书馆。 它允许您实现到LDAP服务器的客户端ldap连接,并且可以在连接中validation用户的用户名和密码。
我尝试在0.8.2的窗口上设置它,并遇到了一些问题,这听起来像开发人员正在寻找。 这个库的好处在于它不依赖于引用的OpenLDAP绑定。
为了在Windows上安装ldapjs,我写了下面这些步骤http://tochedev.blogspot.be/2012/07/i-wanted-to-add-ldapjs-to-my-windows.html
希望这可以帮助。
- NodeJS:在客户端存储JWT的地方? sessionStorage,localStorage还是cookies?
- node.jsauthenticationphp auth_user
- “错误:非法参数:string,未定义”,并在节点JS中停止服务器
- 如何以编程方式login到使用Google身份validation的网站
- 使用LDAP的Node.js身份validation机制
- Firebase child.once在auth.signInWithEmailAndPasswordcallback中超时不一致
- 具有模块请求的node.js中的代理authentication
- 使用中间件使用ExpressJS调用身份validationAPI
- 分离的客户端和服务器的身份验