Actualmente estoy trabajando en una aplicación web en node.js en la cual un usuario necesita iniciar sesión para acceder a la información. Quiero verificar el nombre de usuario y la contraseña con un servidor de directorio activo externo. He intentado usar node-ldapauth, pero no puedo hacer que funcione (no sé si funciona para directorios activos, tal vez simplemente openLdap). ¿Alguna sugerencia?ldap nodejs active directory authentication
Respuesta
Utilicé una biblioteca de rubyldap para resolver el problema, gracias.
Actualización: Como pedido este es la biblioteca solía resolver el problema https://github.com/ruby-ldap/ruby-net-ldap/
Después de instalar la biblioteca de rubí en su servidor, usando joya instalar (mirar hacia arriba no es demasiado dura)
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
Configura un archivo ruby como se muestra arriba.
puede ejecutar la librería Ruby utilizando
var ldap = 'ruby '+process.cwd()+'/src/ruby/ruby_file_name '+ user+' '+password;
Para hacerse con el usuario y contraseña en el rubí utilizan ARGV [0] y ARGV 1. Usted puede agarrar el rubí regresó resultado en Node.js mediante una llamada a la función de devolución
var result = exec(ldap, theCallBack);
en la función theCallBack se puede agarrar los resultados devueltos por la biblioteca de rubí que pasa en la salida estándar
ejemplo:
function theCallBack(err,stdout) {
----your code here, stdout is what you PUT in the ruby library.
Espero que esto ayude!
¿Podría publicar el snipet de su código y el error que obtiene?
Estoy tratando de hacer lo mismo y encontré la biblioteca ldapjs. Le permite implementar una conexión ldap de cliente a un servidor LDAP y puede, al hacer la conexión, validar el nombre de usuario y la contraseña del usuario.
Intenté configurarlo en Windows con 0.8.2 y me encontré con algunos problemas, que parece que el desarrollador está buscando. El aspecto agradable de esta biblioteca es que no depende del enlace de OpenLDAP que hace el que usted mencionó.
https://github.com/mcavage/node-ldapjs/issues/81 es el problema mencionado el problema de instalación en Windows. – Christophe
Por lo tanto, un fragmento de mi código se ve igual que la librería ldapauth https://github.com/trentm/node-ldapauth prácticamente usé el código de ejemplo – Denis
If I console.log (LDAP) me sale algo como esto a cambio conexión: {par: [Objeto], permisos de escritura: verdad, legible: true, _paused: falso, _needDrain: falso, _pending: [], _pendingCallbacks: [], _pendingBytes: 0, socket: [Object], encrypted: [Object], y así sucesivamente – Denis
Para tener la instalación ldapjs trabajar en Windows, escribí los pasos que hemos seguido aquí http://tochedev.blogspot.be/2012/07/i-wanted-to-add-ldapjs-to-my-windows.html
Espero que esto ayude.
- 1. Ruta de LDAP Active Directory
- 2. ADAM, Active Directory, LDAP, ADFS, Identity
- 3. Active Directory (LDAP) - Comprobar la cuenta bloqueada/contraseña expiró
- 4. Autenticación LDAP de Django a través de Active Directory 2008
- 5. Autenticar a Active Directory con python-ldap siempre devuelve (97, [])
- 6. Gerrit y Active Directory
- 7. ¿Cómo rellenar las autorizaciones de LDAP del LDAP de Active Directory utilizando la seguridad de Spring?
- 8. Active Directory vs OpenLDAP
- 9. Windows Active Directory Emulator
- 10. ¿Cómo valido los créditos de Active Directory sobre LDAP + SSL?
- 11. LDAP: ¿Cómo obtener todos los grupos en Active Directory?
- 12. ¿Cuáles son las diferencias entre LDAP y Active Directory?
- 13. Consulta LDAP de Active Directory por sAMAccountName y dominio
- 14. ¿Qué permisos son necesarios para leer Active Directory como LDAP?
- 15. Active Directory Lista de OU
- 16. Autenticación de Active Directory
- 17. JNDI con Active Directory PartialResultException
- 18. Encontrar CN de usuarios en Active Directory
- 19. Cómo conectarme con Java en Active Directory
- 20. C# Crear unidad organizativa en Active Directory
- 21. Listar todos los grupos de Active Directory
- 22. Public Active directory for testing
- 23. Grupos anidados de Active Directory
- 24. Obteniendo grupos de usuarios en Active Directory
- 25. Diferencia entre NativeGuid y Guid en Active Directory
- 26. ¿Cómo restrinjo a teamcity.users a los miembros de un grupo de Active Directory (LDAP)?
- 27. de error: Sólo cadenas de conexión LDAP son compatibles con Active Directory
- 28. Detectar si una cuenta de usuario de Active Directory está bloqueada mediante LDAP en Python
- 29. ¿Cuál es el límite de longitud de cadena del filtro LDAP en Active Directory?
- 30. Consulta/filtro de Active Directory (LDAP) para recuperar listas de distribución de Exchange
Sería genial si pudieras editar esta respuesta para incluir más información/enlaces/códigos sobre la solución que utilizaste para que pueda ayudar a otros que puedan tener este problema. – Dhaust
Actualicé mi solución según lo solicitado – Denis
Excelente, gracias por eso. – Dhaust