Attualmente sto lavorando a un'applicazione web in node.js in cui un utente deve accedere per accedere alle informazioni. Voglio verificare l'accesso utente e la password con un server di directory attivo esterno. Ho provato a utilizzare node-ldapauth, ma non riesco a farlo funzionare (non so se funziona per le directory attive, forse solo openLdap). Eventuali suggerimenti?ldap nodejs autenticazione directory attiva
risposta
Ho usato una libreria rubyldap per risolvere il problema grazie!
Aggiornamento: Come richiesto questa è la libreria che ho usato per risolvere il problema https://github.com/ruby-ldap/ruby-net-ldap/
Dopo aver installato la libreria ruby sul server, utilizzando gem install (cercarlo non è troppo difficile)
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
Imposta un file rubino come mostrato sopra.
È possibile eseguire la libreria ruby utilizzando
var ldap = 'ruby '+process.cwd()+'/src/ruby/ruby_file_name '+ user+' '+password;
Per afferrare l'utente e la password in uso rubino ARGV [0] e ARGV 1. È possibile prendere il rubino risultato restituito in node.js utilizzando una funzione di call back
var result = exec(ldap, theCallBack);
nella funzione PRENOTAZIONE AUTOMATICA si può afferrare i risultati libreria Ruby restituiti passando stdout
es:
function theCallBack(err,stdout) {
----your code here, stdout is what you PUT in the ruby library.
Spero che questo aiuti!
Potresti postare lo snipet del tuo codice e l'errore che ottieni?
Sto cercando di fare il simile e ho trovato la libreria ldapjs. Consente di implementare una connessione LDAP client a un server LDAP e, nel fare la connessione, è possibile convalidare il nome utente e la password dell'utente.
Ho provato a configurarlo su Windows con 0.8.2 e mi sono imbattuto in alcuni problemi, su cui sembra che lo sviluppatore stia cercando. L'aspetto gradevole di questa libreria è che non si basa sul binding OpenLDAP di quello a cui si fa riferimento.
https://github.com/mcavage/node-ldapjs/issues/81 è il problema menzionato il problema di installazione su Windows. – Christophe
Quindi uno snippet del mio codice sembra proprio come la liberia di ldapauth https://github.com/trentm/node-ldapauth praticamente usato l'esempio di codice – Denis
Se mi consolo.log (LDAP) ottengo qualcosa di simile in cambio collegamento: {coppia: [Object], scrivibile: vero, leggibile: vero, _paused: false, _needDrain: false, _pending: [], _pendingCallbacks: [], _pendingBytes: 0, presa: [Object], cifrato: [Object], così via e così via – Denis
Per avere installazione ldapjs lavorare su Windows, ho scritto i passi che ho seguito qui http://tochedev.blogspot.be/2012/07/i-wanted-to-add-ldapjs-to-my-windows.html
Spero che questo aiuti.
Sarebbe ottimo se puoi modificare questa risposta per includere ulteriori informazioni/link/codice sulla soluzione che hai usato in modo che possa aiutare gli altri che potrebbero avere questo problema. – Dhaust
Ho aggiornato la mia soluzione come richiesto – Denis
Eccellente, grazie per quello. – Dhaust