Şu anda bir kullanıcının kullanıcı bilgilerine erişmek için giriş yapması gereken node.js içinde bir web uygulaması üzerinde çalışıyorum. Kullanıcı giriş ve şifresini harici bir aktif dizin sunucusuyla kontrol etmek istiyorum. Node-ldapauth kullanmayı denedim, ancak iş alamıyorum (etkin dizinler için çalışıp çalışmadığını bilmiyorum, belki sadece openLdap). Baska öneri?ldap nodejs etkin dizin kimlik doğrulaması
cevap
Sorunu çözmek için bir rubyldap kitaplığı kullandım!
Güncelleme: İstenildiği üzere bu senin sunucuda yakut kütüphane kurduktan sonra sorunu https://github.com/ruby-ldap/ruby-net-ldap/
çözmek için kullanılan kitaplığı (çok zor değil yukarı bakmak)
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
yüklemek gem kullanarak, olduğunu
Yukarıda gösterildiği gibi bir yakut dosyası oluşturun.
Sen yakut kullanıcı ve şifre ARGV [0] ve argv 1 kullanmak kapmak için
var ldap = 'ruby '+process.cwd()+'/src/ruby/ruby_file_name '+ user+' '+password;
kullanarak yakut kütüphanesini çalıştırabilirsiniz.
: Sen Stdout'a
ex ileterek döndürülen yakut kütüphane sonuçlarını yakalayabilir theCallBack fonksiyonunda işlevini
var result = exec(ldap, theCallBack);
bir çağrı geri kullanılarak yakut node.js sonucu döndürdü yakala
function theCallBack(err,stdout) {
----your code here, stdout is what you PUT in the ruby library.
Bu yardımcı olur umarız!
Kodunuzun snipetini ve aldığınız hatayı kaydeder misiniz?
Benzerleri yapmaya çalışıyorum ve ldapjs kitaplığına rastladım. Bir LDAP sunucusuna bir istemci ldap bağlantısı uygulamanıza izin verir ve bağlantıyı yaparken kullanıcı adı ve şifresini doğrulayabilirsiniz.
Pencereleri 0.8.2 ile kurmayı denedim ve geliştiricinin aradığı ses gibi bazı sorunlar için çalıştırdım. Bu kitaplığın güzel yönü, başvuru yaptığınız kişinin OpenLDAP bağlayıcısına güvenmemesidir. Windows üzerinde çalışan ldapjs kurulumu olan için
https://github.com/mcavage/node-ldapjs/issues/81, Windows'taki yükleme sorunundan bahsetti. – Christophe
Kodumun bir parçacığı ldapauth libry gibi görünüyor. https://github.com/trentm/node-ldapauth çok fazla örnek kod kullanıyor – Denis
Konsolu kullanırsam.log (ldap) i karşılığında böyle bir şey olsun bağlantısı: {çifti: [Nesne], yazılabilir: true, okunabilir: true, _paused: false, _needDrain: false, _pending: [], _pendingCallbacks: [], _pendingBytes: 0, soket: [Nesne], şifreli: [Nesne], vb ve benzeri – Denis
, ben burada bu yardımcı olur http://tochedev.blogspot.be/2012/07/i-wanted-to-add-ldapjs-to-my-windows.html
Umut izledi adımları yazdı.
Olduğu gibi üzerinde çalışıyorum LDAP türünü değiştirmek için seçeneğim yok Bu cevabı, kullandığınız çözüm hakkında daha fazla bilgi/bağlantı/kod içerecek şekilde düzenleyebiliyorsanız, bu soruna sahip olabilecek diğer kişilere yardımcı olabilmeniz için harika bir seçenek. – Dhaust
Çözümü istediğim gibi güncelledim – Denis
Mükemmel, bunun için teşekkürler. – Dhaust