Fórumok

Nyitólap » Liferay Portal » Español » 3. Desarrollo

Kombinált nézet Egyszerű nézet Fa-nézet
Szálak [ Előző | Következő ]
toggle
Iván Rodríguez Bautista
LF6.0.5 LDAP importación masiva
2010. december 20. 9:44
Válasz

Iván Rodríguez Bautista

Rangsorolás: Regular Member

Hozzászólások: 158

Csatlakozás dátuma: 2010. január 25.

Legújabb hozzászólások

Hola gente!

Vuelvo a la carga con otra duda sobre la importación de datos desde un LDAP. Necesito poder hacer una importación masiva para que actualice campos que le estoy mapeando a mis usuarios (principalemente custom attribites) pero que no sea sólo cuando los usuarios se loguean.

Hay ocasiones en las que necesito realizar búsquedas por este tipo de campos, y si unos cuantos usuarios no se han conectado en un par de días, me falla al no tener sus datos actualizados.

Algún proceso nocturno también me valdría.

Estas son las propiedades que tengo declaradas en el portal-ext.properties
1
2ldap.import.enabled=true
3ldap.import.on.startup=true
4ldap.import.interval=5


La que se llama ldap.import.interval no parece hacerme caso, ya que no se importan valores cada 5 minutos.

¿Alguna idea?

Muchas gracias, un saludo!
Roberto Tellado
RE: LF6.0.5 LDAP importación masiva
2010. december 21. 5:50
Válasz

Roberto Tellado

Rangsorolás: Regular Member

Hozzászólások: 231

Csatlakozás dátuma: 2009. szeptember 15.

Legújabb hozzászólások

Hola, los campos que importas están cubiertos en el servidor LDAP?. Es que a mi me pasa por ejemplo, que si uno de los usuarios que tiene que importar no tiene correo cubierto (es decir la propidad mail), no me lo importa.

Puede que te este pasando algo así.

De paso aprovecho para pedir una solución a eso (si la hay). Porque en mi caso tengo usuarios de LDAP que no tienen correo pero sí quiero importarlos, y no se como solucionar esto.

Decir que en mi caso la versión de LR es la 5.2.3

Gracias.
Saludos.
Iván Rodríguez Bautista
RE: LF6.0.5 LDAP importación masiva
2010. december 21. 6:01
Válasz

Iván Rodríguez Bautista

Rangsorolás: Regular Member

Hozzászólások: 158

Csatlakozás dátuma: 2010. január 25.

Legújabb hozzászólások

Hola Roberto,

Mucho me temo que estamos ante lo mismo, porque también me ocurre que ciertos usuarios no tienen email.

Estoy buceando en el código a ver si veo algo, el problema es que como emailAddress de user_ puede ser utilizado como username al login, no te deja la integridad de la BD insertarlos...

¿Alguien ha solucionado esto alguna vez?
Roberto Tellado
RE: LF6.0.5 LDAP importación masiva
2010. december 22. 7:22
Válasz

Roberto Tellado

Rangsorolás: Regular Member

Hozzászólások: 231

Csatlakozás dátuma: 2009. szeptember 15.

Legújabb hozzászólások

Hola Iván,

Tengo una posible solución, aunque muy elegante no es, la verdad. En la clase PortalLDAPUtil que es la que reliza la importación, en el método _importLDAPUser existe un trozo de código que es el que verifica el mail y el screen name:

if (Validator.isNull(screenName) || Validator.isNull(emailAddress)) {
if (_log.isWarnEnabled()) {
_log.warn(
"Cannot add user because screen name and email address " +
"are required");
}

return null;
}

Lo que se podría hacer es validar dentro del primer if el emailAddress y en caso de que no fuera válido, generar nosotros uno a partir de su nombre y apellidos por ejemplo.

Ya se que no es una solución demasiado elegante, pero podría servir.

Espero haberte servido de ayuda. Saludos.
Iván Rodríguez Bautista
RE: LF6.0.5 LDAP importación masiva
2010. december 23. 6:36
Válasz

Iván Rodríguez Bautista

Rangsorolás: Regular Member

Hozzászólások: 158

Csatlakozás dátuma: 2010. január 25.

Legújabb hozzászólások

Hola Roberto,

Al final he optado por crear una tarea Quartz y realizar la importación un par de veces al día, que creo que será suficiente, así que asunto zanjado, jaja. Hay veces que las cosas que a priori parecen más sencillas, Liferay se empeña en ponerlas difíciles.

Un saludo y gracias por todo!
Iván Rodríguez Bautista
RE: LF6.0.5 LDAP importación masiva
2010. december 23. 7:46
Válasz

Iván Rodríguez Bautista

Rangsorolás: Regular Member

Hozzászólások: 158

Csatlakozás dátuma: 2010. január 25.

Legújabb hozzászólások

Bueno, ahora me queda averiguar cómo hacerlo, pensé que con:
1
2PortalLDAPImporterUtil.importFromLDAP();


Ya estaría hecho.... pero no, parece que no hace nada, a parte de que lo ejecuta rapidísimo, es imposible que importe nada en 1 segundo más o menos.... mi gozo en un pozo
Iván Rodríguez Bautista
RE: LF6.0.5 LDAP importación masiva
2010. december 23. 8:30
Válasz

Iván Rodríguez Bautista

Rangsorolás: Regular Member

Hozzászólások: 158

Csatlakozás dátuma: 2010. január 25.

Legújabb hozzászólások

Vale, al final he hecho una guarrada pero que parece que funciona.

Tal como comenta Aritz:
http://www.liferay.com/es/community/forums/-/message_boards/message/6681486;jsessionid=F4F61CAD7E6D60D6CF20E4F1F884EF78.node-1

He obtenido el screenname de todos lo usuarios y de cada uno he hecho la importación en una tarea quartz:
1
2List<User> listaUsuarios = UserLocalServiceUtil.getUsers(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
3        if(listaUsuarios != null){
4            for(User user : listaUsuarios)
5                PortalLDAPImporterUtil.importLDAPUserByScreenName(10130, user.getScreenName());
6        }


Si alguien conoce alguna manera más limpia, estaría encantado de probarla emoticon

Un saludo!
Aritz Galdos
RE: LF6.0.5 LDAP importación masiva
2010. december 23. 11:08
Válasz

Aritz Galdos

Rangsorolás: Expert

Hozzászólások: 382

Csatlakozás dátuma: 2007. május 15.

Legújabb hozzászólások

Buenas Iván:

La solución que comentaba en el hilo al que haces referencia es un workaround para poder acceder a las classes que solo están accesibles desde el propio portal y no desde los plugins.

Por otro lado, la tarea periódica de importación de usuarios se puede programar desde la propia interfaz por lo menos en la 6.0.5+. No puedo asegurarlo en las anteriores.

Panel de control --> Portal --> Configuración --> Autenticación --> LDAP

Aquí tienes la opción "Importación habilitada"
Si la seleccionas, justo debajo aparecerá otro check. Si lo seleccionas te hará la importación de usuarios al inicio y cada tantos minutos como se especifica en la propiedad interval a la que hacías referencia.

No la verdad es que no es muy intuitivo pero lo he usado recientemente y lo estamos usando en un proyecto ahora mismo.

Creo que también sería una buena idea que el interval se pudiese configurar en esta página.

Intentaré proponer la mejora.

Espero haberte sido de ayuda.

Saludos!!!

Aritz Galdos
Daniel Sanz
RE: LF6.0.5 LDAP importación masiva
2010. december 24. 4:23
Válasz

Daniel Sanz

LIFERAY STAFF

Rangsorolás: Junior Member

Hozzászólások: 84

Csatlakozás dátuma: 2010. december 14.

Legújabb hozzászólások

Hola,

quizás sea de ayuda la wiki sobre ldap, donde podéis encontrar la explicación de los settings y los detalles sobre qué informacion debe existir en LDAP para que la importación tenga éxito.

Hay más páginas sobre esto en la wiki pero esta creo que es la más completa.

Espero que os ayude.

Un saludo.
Iván Rodríguez Bautista
RE: LF6.0.5 LDAP importación masiva
2010. december 26. 8:14
Válasz

Iván Rodríguez Bautista

Rangsorolás: Regular Member

Hozzászólások: 158

Csatlakozás dátuma: 2010. január 25.

Legújabb hozzászólások

Gracias Daniel y Aritz,

El problema que tengo es que por alguna razón, los datos no se importan en el intervalo que le establezco, por lo que tuve que recurrir al método bestia.

Echaré un ojo a la documentación, y si consigo mejorar el sistema lo posteo por aquí para que ayude a quien busque algo parecido.

Un saludo!!