Ok, gracias, el ejemplo que me enviaste me sirvió de mucho

saludos

El jue, 29-07-2010 a las 01:54 +0200, lasizoillo escribió:
> El día 28 de julio de 2010 23:12, Gustavo Hernández
> <gustavo.hernan...@etecsa.cu> escribió:
> >
> > Saludos a todos:
> >
> > Es posible que el asunto, ya haya sido tratado en la lista, mi problema
> > es que supuestamente el simple_bind(usuario,password), debe validar la
> > existencia del usuario y el PASSWORD, pero no es así en mi caso. No
> > obstante en el proceso del search, si el nombre de usuario fue correcto
> > o sea existe, lo encuentra y es validado el servicio (en este caso
> > navegacion), en resumen puedo poner un usuario válido con cualquier
> > password, que lo encuentra sin problemas.
> >
> > Alguna sugerencia?
> 
> Primero hacer mejor las preguntas:
>  * No especificas que librería usas para el acceso a ldap
>  * No especificas cual es el Distinguised Name en tu ldap, ni como lo
> tienes montado
>  * En el código fuente no se ve si el usuario que usas para validar es
> un distinguised name
>  * El código fuente que adjuntas tiene mucha morralla (cosas de ui que
> vete a saber que es, ...)
> 
> Te adjunto un ejemplo mejor, aunque parece que no es de la librería
> que usas (crea la conexión de manera diferente):
> http://www.grotan.com/ldap/python-ldap-samples.html
> 
> Supongo que tu problema es el siguiente:
> Tu dn es algo como: uid=manolito, o=isp
> Al hacer un search por uid=manolito y servicio=navegación, te devuelve
> el campo con el dn correcto (y con posibilidad de devolver incorrectos
> de las ramas no apropiadas). Pero el bind no te funciona porque haces
> un bind de "manolito" en vez de "uid=manolito, o=isp".
> 
> Puedes probar esta hipotesis usando las herramientas de consola que
> seguramente te vengan con tu servidor ldap.
> 
> Un saludo:
> 
> Javi
> 
> >
> > Gracias por adelantado
> >
> > Nota:  adjunto parte del código. Se conecta sin problemas
> >
> >
> >                     try:
> >                        l = ldap.initialize(self.servidor_url)
> >                        l.protocol_version = ldap.VERSION2
> >
> >                      except ldap.LDAPError, e:
> >                        self.ui.mLogin.setText ('Error en Servidor ')
> >                        self.ui.eUsuario.setFocus()
> >                        return
> >
> >                      baseDN = "ou=people, dc=myorg, dc=tm"
> >                      searchScope = ldap.SCOPE_SUBTREE
> >                      retrieveAttributes = None
> >                      searchFilter =
> > "(&(uid="+str(self.ui.eUsuario.text()+")(servicio=navegacion))")
> > #                     searchFilter = "(&(uid="+str(self.usuario+"))")
> >
> >                      try:
> >                        l.simple_bind(self.usuario,self.contrasena)
> >
> >                      except:
> >                        self.ui.mLogin.setText ('NO EXISTE USUARIO')
> >                        self.ui.eUsuario.setFocus()
> >                        return
> >
> >                      try:
> >
> >
> >                        ldap_result_id = l.search(baseDN,
> > searchScope,searchFilter,retrieveAttributes)
> >
> >                        result_set = []
> >                        result = 0
> >                        while 1:
> >                            result_type, result_data = 
> > l.result(ldap_result_id, 0)
> >
> >                            if (len(result_data) == 0):
> >                                self.ui.mLogin.setText ('SIN ACCESO AL
> > SERVICIO')
> >                                self.ui.eUsuario.setFocus()
> >                                break
> >                            else:
> >                                if result_type == ldap.RES_SEARCH_ENTRY:
> >                                   result_set.append(result_data)
> >                                   result = 1
> >                                   break
> >                      except ldap.LDAPError, e:
> >                        self.ui.mLogin.setText ('Error de lectura en LDAP')
> >                        self.ui.eUsuario.setFocus()
> >                        return
> >
> >
> > ---
> > This message was processed by Kaspersky Mail Gateway 5.6.28/RELEASE running 
> > at host imx3.etecsa.cu
> > Visit our web-site: <http://www.kaspersky.com>, <http://www.viruslist.com>
> >
> > _______________________________________________
> > Python-es mailing list
> > Python-es@python.org
> > http://mail.python.org/mailman/listinfo/python-es
> > FAQ: http://python-es-faq.wikidot.com/
> >
> >
> _______________________________________________
> Python-es mailing list
> Python-es@python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
> --- This message was processed by Kaspersky Mail Gateway 5.6.28/RELEASE 
> running at host imx2.etecsa.cu Visit our web-site: 
> <http://www.kaspersky.com>, <http://www.viruslist.com>

--- 
This message was processed by Kaspersky Mail Gateway 5.6.28/RELEASE running at 
host imx3.etecsa.cu
Visit our web-site: <http://www.kaspersky.com>, <http://www.viruslist.com>
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a