Autenticación con LDAP y formulario de edición de usuario

Autenticación con LDAP y formulario de edición de usuario

de Sara Bermudez -
Número de respuestas: 21

Saludos, he implementado la autenticación por servidoro LDAP en mi moodle y todo parece funcionar perfectamente.

El tema es que cuando un usuario se autentica de una le sale el formulario de edición de datos del usuario, sale más que todo cuando el usuario no tiene email. 

No se como evitar que salga este formulario, con solo el username y la clave me basta para que mis usuarios se autentiquen, qeu debo hacer?.

Gracias de antemano, espero su pronta respuesta.

Saludos moodleros.

Promedio de valoraciones: -
En respuesta a Sara Bermudez

Re: Autenticación con LDAP y formulario de edición de usuario

de Iñaki Arenaza -
Imagen de Desarrolladores Imagen de Desarrolladores de plugins Imagen de Documentadores Imagen de Moderadores Imagen de Moodlers de gran ayuda

Moodle obliga a que los usuarios tengan una dirección de correo, ya que los envios a los foros (y otro montón de notificaciones) se le envian al usuario por correo electrónico.

Así que a menos que modifiques el código de Moodle, tendrás que ponerles una dirección de correo a todos ellos (aunque sea completamente falsa).

Saludos. Iñaki.

En respuesta a Iñaki Arenaza

Re: Autenticación con LDAP y formulario de edición de usuario

de Sara Bermudez -

Bien gracasi Iñaki, eso ya lo entendi de que ajuro debe tener el correo, pero me tienen loca de que quite esta cosa del correo.

Yo modifique un poco los archivos user/edit.php y user/edith.html

En ambos casos comente las lineas de html y de codigo php que hacen referencia al campo del correo y otros alli que no me interesan.

Ahora bien, probando que el usuario se loguee en moodle igual sigue apareciendo el formulario cuando luego de que el usuario se ha logueado en la plataforma y moodle lo ha registrado en la BD yo lo matriculo en un curso, pido al usuario loguerase de nuevo con su nombre y clave LDAP y aparece de nuevo el bendito formulario y no deja pasar al usuario al curso.

Que otros archivos debo tocar para ver si acabo con esto de una vez.

Agradecida por tu siempre colaboración me despido.

Saludos.

En respuesta a Sara Bermudez

Re: Autenticación con LDAP y formulario de edición de usuario

de Iñaki Arenaza -
Imagen de Desarrolladores Imagen de Desarrolladores de plugins Imagen de Documentadores Imagen de Moderadores Imagen de Moodlers de gran ayuda

Necesitas modificar la funcion user_not_fully_setup() del fichero .../lib/moodlelib.php

Saludos. Iñaki.

En respuesta a Iñaki Arenaza

Re: Autenticación con LDAP y formulario de edición de usuario

de Sara Bermudez -

Saludos Iñaki ya apunto de enviarte mi moodlelib.php porque no veia la función, es que la estaba buscando por search de mi editor de html, jeje lo que pasa es que la función se llama user_not_fully_set_up() , setup separado , jejeje menos mal que me puse a leer línea a línea.

Jurungaré un rato, si me vulevo más loca te pego un grito de nuevo.

Ahora bien en esta misma función es dodne modifico que en lo que el usuario se logue automáticamente se salte a los cursos que no salga nunca ese formulario de editar perfil de usaurio.Please ayudita

Gracias un abrazo grande

En respuesta a Sara Bermudez

Re: Autenticación con LDAP y formulario de edición de usuario

de alexander latorre -

Hola sara

Primero muchas gracias por tu aporte pues estoy en el mismo dilema que tu estabas cuando valido un usuario con LDAP me muestra el formulario en donde me pide nombres y apellidos y correo electronico pero no me deja pasar de ahi, me gustaria saber cuales fueron los archivos que afectaste y en que lineas los modificaste para asi hacer el cambio en mi moodle

los que veo en el foro son :

  • user/edit.php y user/edith.html
  • funcion user_not_fully_setup() del fichero .../lib/moodlelib.php/////

 

CODIGO DE LA FUNCION

function user_not_fully_set_up($user) {
return ($user->username != 'guest' and (empty($user->firstname) or empty($user->lastname) or empty($user->email) or over_bounce_threshold($user)));
}

no tengo idea de como modificarlos tu me podrias enviar el codigo que modificaste en cada uno de los archivos para que te funcionara

De antemano mil gracias por toda la ayuda que me puedas brindar

En respuesta a alexander latorre

Re: Autenticación con LDAP y formulario de edición de usuario

de Iñaki Arenaza -
Imagen de Desarrolladores Imagen de Desarrolladores de plugins Imagen de Documentadores Imagen de Moderadores Imagen de Moodlers de gran ayuda
Hola Alexander,

si quieres que Moodle deje al usuario seguir con el inicio de sesión aunque tenga el correo electrónico vacío (no es buena idea, porque no le llegarán ninguna clase de notificaciones, pero bueno), tienes que editar el fichero lib/moodlelib.php en concreto la función que muestras.

El código original será similar al siguiente:


function user_not_fully_set_up($user) {
return ($user->username != 'guest' and (empty($user->firstname) or empty($user->lastname) or empty($user->email) or over_bounce_threshold($user)));
}


y hay que quitar la condición '$empty($user->email)', por lo que el código queraría:


function user_not_fully_set_up($user) {
return ($user->username != 'guest' and (empty($user->firstname) or empty($user->lastname) or over_bounce_threshold($user)));
}


Si además queremos que el usuario pueda editar su perfil y pueda guardar los cambios sin tener que indicar una dirección de correo electrónico, tenemos que editar el fichero user/editlib.php (en las versiones 1.8, 1.9 y 2.0) y buscar la línea que pone:


$mform->addRule('email', $strrequired, 'required', null, 'client');


y comentarla o borrarla.

Saludos.
Iñaki.
En respuesta a Iñaki Arenaza

Re: Autenticación con LDAP y formulario de edición de usuario

de Sara Bermudez -

Iñaki, gracias resuelto mi problema.

Todo perfectamente solucionado.

Eres el mejor de todos los moodleros.

Abrazos

En respuesta a Sara Bermudez

Re: Autenticación con LDAP y formulario de edición de usuario

de Ivan Rodríguez López -

Hola, Sara.

Podrías por favor compartir el código que hiciste para la autenticación via LDAP. Muchas gracias de antemano.

Sener.

En respuesta a Ivan Rodríguez López

Re: Autenticación con LDAP y formulario de edición de usuario

de Sara Bermudez -
Hola Ivan
En específico que deseas saber, porque moodle ya trae su módulo de autenticación LDAP, sólo basta colocar los datos correctos en lso campos correctos. Yo después de unos varios golpes y traspies he logrado poner a unas 3 instalaciones de moodle contra un Directorio Activo de Windows, así que si tienes dudas con gusto te envío un material que he escrito al respecto.

En rlaión al código, como ves en las distintas entradas de este tema, yo necesitaba hacer que el formulario de edición de perfil de usuario no pidiera al correo electrónico como campo obligatorio, por lo que en la función que comento junto a Iñaki una entrada más arriba lo que hice fue comentar la condición que hacia referencia al email y con eso solocionado el problema.

Si puedo ayudarte en algo en particular, no tardes en escribir, para eso estamos.

Saludos.
SIBB
En respuesta a Sara Bermudez

Re: Autenticación con LDAP y formulario de edición de usuario

de Ivan Rodríguez López -

Hola, Sara.

Muchas gracias por responder. Lo que sucede es que el módulo LDAP no me funciona, aunque sé cómo configurarlo, al abrir la página de configuración me sale el siguiente error:

Warning: The PHP LDAP module does not seem to be present. Please ensure it is installed and enabled.
Este es el problema. ¿Sabes cómo podría solucionarlo? Muchas gracias nuevamente.
Sener.
En respuesta a Ivan Rodríguez López

Re: Autenticación con LDAP y formulario de edición de usuario

de Sara Bermudez -

Disculpa lo tarde Ivan

Ya pudiste con LDAP, que servidor tienes Apache o Windows?

En windows debes mover los dll SSLEAY32.dll de la carpeta extensions de tu php a SyStem32 y descomentar la linea (quitar ;) 'extension=php_ldap.dll'.  en el php.ini

Revisate esto a ver, en caso de Apache hay que compilarla, no se exactamente como se hace, a ver que consigo por allí y te comneto.

Saludos.

En respuesta a Sara Bermudez

Re: Autenticación con LDAP y formulario de edición de usuario

de Ivan Rodríguez López -

Hola Sara,

yo uso el AppServer en Windows. Busqué la dll que me secías y al abrirla en un editor está ininteligible. Espero que puedas hayar la solución. Muchas gracias por tu ayuda.

Sener.

En respuesta a Ivan Rodríguez López

Re: Autenticación con LDAP y formulario de edición de usuario

de Sara Bermudez -
Hola Ivan.
No tienes que abrirla en ningún editor, debes copiarl ay pegarla en el System32 de tu directorio windows.

Prueba eso y me avisas.
Saludos.
En respuesta a Sara Bermudez

Re: Autenticación con LDAP y formulario de edición de usuario

de Diego León -
Hola Sara,
estoy tratando de desarrollar un módulo para que los usuarios al entrar en moodle se autentifiquen en el directorio activo del LDAP de Microsoft Navision donde ya estan dados de alta, sin necesidad de registrarse de nuevo en moodle, y me gustaría saber si me podrías mandar tu codigo para probarlo.

Un saludo y muchas gracias.
En respuesta a Diego León

Re: Autenticación con LDAP y formulario de edición de usuario

de Iñaki Arenaza -
Imagen de Desarrolladores Imagen de Desarrolladores de plugins Imagen de Documentadores Imagen de Moderadores Imagen de Moodlers de gran ayuda

Diego,

no hace falta código extra para poder autenticarse con el directorio activo de LDAP de microsoft. Moodle ya trae de serie ese código. Echa una ojeada a la documentación en la dirección http://docs.moodle.org/es/Autenticaci%C3%B3n_LDAP (y la versión en inglés algo más completa y actualizada en http://docs.moodle.org/en/LDAP_authentication).

Saludos. Iñaki.

En respuesta a Iñaki Arenaza

Re: Autenticación con LDAP y formulario de edición de usuario

de Diego León -
Gracias por la información, pero ahora me surge la siguiente duda:

Al ir al panel de administración selecciono usar autentificación LDAP y me muestra es siguiente mensaje:

El módulo LDAP de PHP no parece estar presente. Por favor asegúrese que esté instalado y activado.

Para solucionarlo he leído en esta dirección http://docs.moodle.org/en/LDAP_authentication lo siguiente:

El anterior mensaje de advertencia generalmente significa que la dll ldap o una de las dlls faltan. Primero dice que vayas a la ruta http://moodleserver/admin/phpinfo.php para determinar qué php.ini está siendo utilizado y abrirlo. Encuentra la línea de extensión php_ldap.dll y quitar el punto y coma, si existe.

El caso es que no existe esa línea en el archivo, me podrían guiar.

Muchas gracias y un saludo.

En respuesta a Diego León

Re: Autenticación con LDAP y formulario de edición de usuario

de Gabriel Dias -
La verdad es que no uso windows, pero supongo que los .ini son similares asique...
Lo que hace php es cargar las extensiones que estan en algun lugar del php.ini. Buscá la palabra "extension" y vas a ver un lugar que las extensiones estan de la forma:

extension=mysql.dll
extension=pgsql.dll
...
;extension=php_ldap.dll
..


Debería ser algo parecido a esto. Una vez que estes ahi fijate que la linea que dice "
extension=php_ldap.dll" tiene un ";". Asi, todas las extensiones que tengan un ";"
no seran cargadas. Por eso es que te dice que le tenes que sacar el ";" del principio(para que se habilite).
Si no encontras la extension que diga ldap agregala vos. Fijate que el nombre de la extension debe ser correcto por lo que lo podes corroborar buscando todas las dll que tenga php en el directorio que en el php.ini aparece como "extension_dir"(o algo similar).

Una vez que hayas hecho esto tenes que reiniciar apache para que te tome los cambios. Espero te sirva, saludos

En respuesta a Gabriel Dias

Re: Autenticación con LDAP y formulario de edición de usuario

de ebelio martinez -
Buenas una consulta gabriel dias de donde puedo descargar esas dll, para poder ponerlas en mi sitio agradezo tu ayuda..
En respuesta a ebelio martinez

Re: Autenticación con LDAP y formulario de edición de usuario

de Iñaki Arenaza -
Imagen de Desarrolladores Imagen de Desarrolladores de plugins Imagen de Documentadores Imagen de Moderadores Imagen de Moodlers de gran ayuda

Esas DLL son parte de los ficheros que se intalan con PHP en Windows, por lo que no hace falta descargarlas de ningun sitio sonrisa

Saludos. Iñaki.

En respuesta a Iñaki Arenaza

Re: Autenticación con LDAP y formulario de edición de usuario

de Carlos Salgado -
una pregunta, espero que me puedan ayudar, estoy probando el modulo de autentificacion ldap para que mis usuarios entren en la plataforma de moodle, el problema es que tengo cerca de 1000 usuarios que usaban la autentificacion via email, pero ahora me solicitan que la autentificacion sea via ldap como hago para acttualizar sus datos y asi que no tengan que perder la informacion que tienen cada uno o los cursos en los que estan matriculados.

por que como entiendo el modulo ldap crea una nueva entrada en la base de datos de usuarios en moodle, este modulo me serviria si estuviese comenzando desde cero, pero el problema es que la plataforma ya tiene en uso 1 año.