Обсуждение: LDAP auth pathc
Buenas tardes.
Recientemente configuré PgAdmin 4.25 con autenticación LDAP y pasé varias horas tratando de encontrar el error ya que siempre obtenía como resultado "Could not find the specified user.".
Me percate que el código del método LDAPAuthentication.search_ldap_user() no funciona sobre un un directorio con una gran cantidad de resultados. Por defecto los servidores como OpenLDAP limitan la cantidad de resultados que puede ser obtenido por un cliente, normalmente solo las cuentas administradoras pueden iterar sobre todo el directorio.
El código en la función indicada se basa en iterar todos los resultados obtenidos y comparar el nombre de usuario, lo cual es ineficiente y provoca que en directos muy extensos los usuarios no sean encontrados.
Adjunto un patch del archivo ldap.py que simplifica la búsqueda agregando a la condición de búsqueda del usuario directamente en el filtro aplicada en la búsqueda.
Quedo atento a cualquier observación.
Saludos y muy agradecido por su trabajo.
Вложения
Hi Khushboo
Can you please review it.
On Mon, Aug 24, 2020 at 6:18 AM Romulo Rodriguez <rodriguezrjrr@gmail.com> wrote:
Buenas tardes.Recientemente configuré PgAdmin 4.25 con autenticación LDAP y pasé varias horas tratando de encontrar el error ya que siempre obtenía como resultado "Could not find the specified user.".Me percate que el código del método LDAPAuthentication.search_ldap_user() no funciona sobre un un directorio con una gran cantidad de resultados. Por defecto los servidores como OpenLDAP limitan la cantidad de resultados que puede ser obtenido por un cliente, normalmente solo las cuentas administradoras pueden iterar sobre todo el directorio.El código en la función indicada se basa en iterar todos los resultados obtenidos y comparar el nombre de usuario, lo cual es ineficiente y provoca que en directos muy extensos los usuarios no sean encontrados.Adjunto un patch del archivo ldap.py que simplifica la búsqueda agregando a la condición de búsqueda del usuario directamente en el filtro aplicada en la búsqueda.Quedo atento a cualquier observación.Saludos y muy agradecido por su trabajo.
--
Thanks & Regards
Akshay Joshi
pgAdmin Hacker | Sr. Software Architect
EDB PostgresMobile: +91 976-788-8246
The patch looks good to me.
Thanks,
Khushboo
On Mon, Aug 24, 2020 at 11:10 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi KhushbooCan you please review it.On Mon, Aug 24, 2020 at 6:18 AM Romulo Rodriguez <rodriguezrjrr@gmail.com> wrote:Buenas tardes.Recientemente configuré PgAdmin 4.25 con autenticación LDAP y pasé varias horas tratando de encontrar el error ya que siempre obtenía como resultado "Could not find the specified user.".Me percate que el código del método LDAPAuthentication.search_ldap_user() no funciona sobre un un directorio con una gran cantidad de resultados. Por defecto los servidores como OpenLDAP limitan la cantidad de resultados que puede ser obtenido por un cliente, normalmente solo las cuentas administradoras pueden iterar sobre todo el directorio.El código en la función indicada se basa en iterar todos los resultados obtenidos y comparar el nombre de usuario, lo cual es ineficiente y provoca que en directos muy extensos los usuarios no sean encontrados.Adjunto un patch del archivo ldap.py que simplifica la búsqueda agregando a la condición de búsqueda del usuario directamente en el filtro aplicada en la búsqueda.Quedo atento a cualquier observación.Saludos y muy agradecido por su trabajo.
--Thanks & RegardsAkshay JoshipgAdmin Hacker | Sr. Software ArchitectEDB PostgresMobile: +91 976-788-8246
Thanks, patch applied.
On Mon, Aug 24, 2020 at 11:43 AM Khushboo Vashi <khushboo.vashi@enterprisedb.com> wrote:
The patch looks good to me.Thanks,KhushbooOn Mon, Aug 24, 2020 at 11:10 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:Hi KhushbooCan you please review it.On Mon, Aug 24, 2020 at 6:18 AM Romulo Rodriguez <rodriguezrjrr@gmail.com> wrote:Buenas tardes.Recientemente configuré PgAdmin 4.25 con autenticación LDAP y pasé varias horas tratando de encontrar el error ya que siempre obtenía como resultado "Could not find the specified user.".Me percate que el código del método LDAPAuthentication.search_ldap_user() no funciona sobre un un directorio con una gran cantidad de resultados. Por defecto los servidores como OpenLDAP limitan la cantidad de resultados que puede ser obtenido por un cliente, normalmente solo las cuentas administradoras pueden iterar sobre todo el directorio.El código en la función indicada se basa en iterar todos los resultados obtenidos y comparar el nombre de usuario, lo cual es ineficiente y provoca que en directos muy extensos los usuarios no sean encontrados.Adjunto un patch del archivo ldap.py que simplifica la búsqueda agregando a la condición de búsqueda del usuario directamente en el filtro aplicada en la búsqueda.Quedo atento a cualquier observación.Saludos y muy agradecido por su trabajo.
--Thanks & RegardsAkshay JoshipgAdmin Hacker | Sr. Software ArchitectEDB PostgresMobile: +91 976-788-8246
--
Thanks & Regards
Akshay Joshi
pgAdmin Hacker | Sr. Software Architect
EDB PostgresMobile: +91 976-788-8246
Excellent!
Is my first contribution on an open source project.
Thanks.
On Tue, Aug 25, 2020 at 3:12 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Thanks, patch applied.On Mon, Aug 24, 2020 at 11:43 AM Khushboo Vashi <khushboo.vashi@enterprisedb.com> wrote:The patch looks good to me.Thanks,KhushbooOn Mon, Aug 24, 2020 at 11:10 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:Hi KhushbooCan you please review it.On Mon, Aug 24, 2020 at 6:18 AM Romulo Rodriguez <rodriguezrjrr@gmail.com> wrote:Buenas tardes.Recientemente configuré PgAdmin 4.25 con autenticación LDAP y pasé varias horas tratando de encontrar el error ya que siempre obtenía como resultado "Could not find the specified user.".Me percate que el código del método LDAPAuthentication.search_ldap_user() no funciona sobre un un directorio con una gran cantidad de resultados. Por defecto los servidores como OpenLDAP limitan la cantidad de resultados que puede ser obtenido por un cliente, normalmente solo las cuentas administradoras pueden iterar sobre todo el directorio.El código en la función indicada se basa en iterar todos los resultados obtenidos y comparar el nombre de usuario, lo cual es ineficiente y provoca que en directos muy extensos los usuarios no sean encontrados.Adjunto un patch del archivo ldap.py que simplifica la búsqueda agregando a la condición de búsqueda del usuario directamente en el filtro aplicada en la búsqueda.Quedo atento a cualquier observación.Saludos y muy agradecido por su trabajo.
--Thanks & RegardsAkshay JoshipgAdmin Hacker | Sr. Software ArchitectEDB PostgresMobile: +91 976-788-8246
--Thanks & RegardsAkshay JoshipgAdmin Hacker | Sr. Software ArchitectEDB PostgresMobile: +91 976-788-8246
On Tue, Aug 25, 2020 at 8:10 PM Romulo Rodriguez <rodriguezrjrr@gmail.com> wrote:
Excellent!Is my first contribution on an open source project.
Congratulations.
This won't be your last for sure. :)
-- Thanks,
Ashesh Vashi
On Tue, Aug 25, 2020 at 3:12 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:Thanks, patch applied.On Mon, Aug 24, 2020 at 11:43 AM Khushboo Vashi <khushboo.vashi@enterprisedb.com> wrote:The patch looks good to me.Thanks,KhushbooOn Mon, Aug 24, 2020 at 11:10 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:Hi KhushbooCan you please review it.On Mon, Aug 24, 2020 at 6:18 AM Romulo Rodriguez <rodriguezrjrr@gmail.com> wrote:Buenas tardes.Recientemente configuré PgAdmin 4.25 con autenticación LDAP y pasé varias horas tratando de encontrar el error ya que siempre obtenía como resultado "Could not find the specified user.".Me percate que el código del método LDAPAuthentication.search_ldap_user() no funciona sobre un un directorio con una gran cantidad de resultados. Por defecto los servidores como OpenLDAP limitan la cantidad de resultados que puede ser obtenido por un cliente, normalmente solo las cuentas administradoras pueden iterar sobre todo el directorio.El código en la función indicada se basa en iterar todos los resultados obtenidos y comparar el nombre de usuario, lo cual es ineficiente y provoca que en directos muy extensos los usuarios no sean encontrados.Adjunto un patch del archivo ldap.py que simplifica la búsqueda agregando a la condición de búsqueda del usuario directamente en el filtro aplicada en la búsqueda.Quedo atento a cualquier observación.Saludos y muy agradecido por su trabajo.
--Thanks & RegardsAkshay JoshipgAdmin Hacker | Sr. Software ArchitectEDB PostgresMobile: +91 976-788-8246
--Thanks & RegardsAkshay JoshipgAdmin Hacker | Sr. Software ArchitectEDB PostgresMobile: +91 976-788-8246