gpt4 book ai didi

node.js - ldap nodejs 事件目录认证

转载 作者:IT老高 更新时间:2023-10-28 23:27:00 27 4
gpt4 key购买 nike

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

最佳答案

我使用了 ruby​​ldap 库来解决问题,谢谢!

更新:根据要求,这是我用来解决问题的库 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 .您可以使用回调函数在 node.js 中获取 ruby​​ 返回的结果

var result = exec(ldap, theCallBack);

在 theCallBack 函数中,您可以通过传入 stdout 来获取返回的 ruby​​ 库结果

例如:

function theCallBack(err,stdout) {
----your code here, stdout is what you PUT in the ruby library.

希望这会有所帮助!

关于node.js - ldap nodejs 事件目录认证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11437288/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com