Foros de discusión

Mapping UserID=uid con LDAP

thumbnail
Pablo Fernandez Mantecon, modificado hace 16 años.

Mapping UserID=uid con LDAP

Junior Member Mensajes: 75 Fecha de incorporación: 1/10/07 Mensajes recientes
Hola a todos, y lo primero muchas gracias!

El problema es el siguiente: Tenemos un directorio activo LDAP con los usuarios, sus mails, passwords, y sus uid, entre otros datos. Este LDAP lo hemos conectado a Liferay, y hasta aqui ningun problema. El problema surje cuando intentamos obtener desde Liferay, los ids de los usuarios de LDAP. Hemos mapeado los ids mediante la siguiente sentencia: userId=uid, pero Liferay no coge los valores, sino que le da los suyos propios. Nuestra version de Liferay es la 4.3.

Hemos leido varias cosas que pueden ser la causa los problemas, pero no hemos sabido concretarlas:

1) Que solo es posible pasar ciertos y limitados campos desde LDAP a Liferay (FirstName, eMail, Lastame,...), y uid no esta entre ellos.
2) Que el campo userId no admite numeros, y ya que uid(ldap) es un campo formado por numeros, se producen incoherencias.

¿Que hay de cierto en estas afirmaciones? ¿como podemos solucionar nuestro problema?

Muchas gracias.

Por si os sirve de ayuda, una vez que tengamos los ids (necesariamente los de LDAP), los usaremos para hacer ciertas consultas a una base de datos externa (SQL).

Muchas gracias de nuevo!
thumbnail
Pablo Fernandez Mantecon, modificado hace 16 años.

RE: Mapping UserID=uid con LDAP

Junior Member Mensajes: 75 Fecha de incorporación: 1/10/07 Mensajes recientes
Acabo de leer una tercera afirmacion que podria ayudar:

3) Los UserId han pasado a llamarse ScreenName. De esta forma, el metodo user.getUserId()...¿que devuelve? ¿Deberia entonces mapear ScreenName=uid para asi obtener el UID de LAP?

¿Cual seria la solucion?

De nuevo muchas gracias!
thumbnail
Jorge Ferrer, modificado hace 16 años.

RE: Mapping UserID=uid con LDAP

Liferay Legend Mensajes: 2871 Fecha de incorporación: 31/08/06 Mensajes recientes
Hola Pablo,

Efectivamente, en la versión 4.3 los antiguos identificadores de usuario se almacenan en el campo screenName, por tanto deberás usar ese para tus propósitos.
thumbnail
Pablo Fernandez Mantecon, modificado hace 16 años.

RE: Mapping UserID=uid con LDAP

Junior Member Mensajes: 75 Fecha de incorporación: 1/10/07 Mensajes recientes
Hola Jorge, he leido tu respuesta, pero ahora me surge otro error: He cambiado mi servidor de LDAP (que me funcionaba correctamente, pero que era solo para pruebas) por la version correcta del directorio activo. En la primera de ellas, LDAP contenia un campo con el password del usuario, pero en la verison nueva, no encuentro ningun campo que contenga esa informacion. Creo que es esto lo que me provoca que los usuarios de LDAP no puedan acceder a Liferay.

Antes tenia el mapeo de "datos" tal cual venia con Liferay. Pero esto ahora no funciona... ¿Que datos son obligatorios en el mapeo para que funcione? Solo necesitare los datos para hacer el login.

Muchas gracias!
thumbnail
Jonathan Alexander Diosa, modificado hace 16 años.

RE: Mapping UserID=uid con LDAP

Regular Member Mensajes: 189 Fecha de incorporación: 26/02/07 Mensajes recientes
Hola Pablo,
Yo tenía un problema similar al que comentas, ya que migré de una versión anterior de liferay, en la cual aún persistían el campo UserId y se mapeaba con el campo uid de LDAP, sin embargo pudimos notar, que el portal no estaba haciendo la importación de usuarios, ya que solo estaba trabajando con los usuarios que estaban antes en el portal y no con los usuarios que se agregaban a LDAP. leyendo este post tuyo, nos dimos cuenta del error y cambiamos el campo UserId por el Campo screenName, y ya nos está funcionado Correctamente la importación de usuarios desde LDAP hacia portal.

Asi es como tengo mapeado los campos de LDAP vs Portal

screenName=uid
password=userPassword
emailAddress=mail
firstName=givenName
lastName=sn
jobTitle=personalTitle
group=groupMembership

///

import-user-search-filter : (objectClass=inetOrgPerson)
import-group-search-filter: (import-group-search-filter)

Muchas gracias, un cordial saludo desde Colombia

Jonathan Diosa
Sapian S.A
thumbnail
Pablo Fernandez Mantecon, modificado hace 16 años.

RE: Mapping UserID=uid con LDAP

Junior Member Mensajes: 75 Fecha de incorporación: 1/10/07 Mensajes recientes
Hola Jonathan!

De nuevo muchas gracias por tu ayuda! Todavía no he probado lo que me has dicho, lo hare mañana (hora española!!!). De todas formas, me surge una duda:

A la hora de configurar LDAP en la pagina de "Enterprise Admin" -> "Settings" -> "LDAP" ( o algo asi), hay un par de lineas que son:

- Principal y,
- Password o credential Estas sé que se refieren a un usuario que este autorizado a entrar en LDAP, pero mi duda es la siguiente:

¿Pueden estos cambios modificarse dinamicamente? Es decir, mi directorio activo posee contraseñas que caducan cada 10 dias, lo que me elimina la posibilidad de poner los datos de un usuario cualquiera, ya que tendria que cambiarlos cada 10 dias tambien en Liferay. Por otro lado, tengo el usuario administrador (de LDAP) que por la importancia de este usuario y por seguridad, no puedo poner estos datos en Liferay. De ahi que haya tenido que crear un usuario de LDAP exclsivamente para Liferay, pero ¿no puedo usar los datos del login de Liferay como parametros de LDAP?

No se si me he explicado bien, pero seria lo siguiente: Si yo entro en Liferay con mi nombre de usuario y contraseña, que este mismo nombre de usuario y esta contraseña sean las que use Liferay para "intentar entrar" en LDAP... De esta forma podrian pasar dos cosas: (1) Que LDAP no reconozca esos valores, con lo que me impediria el acceso, ó (2) Que si le sirvan y de ahi que me permita acceder.

Si tienes cualquier duda, por favor, dudes en contactar conmigo!

Muchas gracias a Jonathan y a todos los que puedan ayudarme!!

PAblo.
thumbnail
Jonathan Alexander Diosa, modificado hace 16 años.

RE: Mapping UserID=uid con LDAP

Regular Member Mensajes: 189 Fecha de incorporación: 26/02/07 Mensajes recientes
Hola Pablo
La verdad no te entiendo muy bien lo queme quieres decir.
Sin embargo te cuento que hay una propiedad del portal.properties, en la cual tu puedes decir como es el orden de autenticación, Si se autentica con portal...es decir con la contraseñas que están guardadas en la base de datos (la contraseñas que se obtuvieron la primera vez que se importó el usuario desde LDAP) ó si autentica el usuario directamente con al contraseña de LDAP.

auth.pipeline.enable.liferay.check=true


la anterior es la propiedad que te comento. Por defecto viene con true, lo que quiere decir que se autentica con portal, si colocas false se atuentica con LDAP.

Esta propiedad depende de otras como auth.pipeline.pre, sin embargo te recomiendo que te dirijas a la seccion de Authentication Pipeline en el archivo portal.properties y mires todas las propiedades que tiene.

espero esto te sirva de algo

Un Saludo

Jonathan Diosa
Sapian S.A
thumbnail
Veronica Otero Ogando, modificado hace 8 años.

RE: Mapping UserID=uid con LDAP

New Member Mensajes: 4 Fecha de incorporación: 24/02/16 Mensajes recientes
Hola buenos dias

Tengo una configuracion parecida a la tuya screenName=uid
Y cuando cambio en el portal el screenName de un usuario se cambia correctamente, pero esa modificacion no se exporta a LDAP, por lo que en la siguiente importacion el screenName me vuelve a cambiar.

Es posible hacer el cambio que intento.

Muchas gracias