Entre otras, una de las tareas habituales de administración de la instancia virtual de la UTPL en el EVA basado en moodle, es la generación de contraseñas y obtención en un listado para impresión y posterior conocimiento de un grupo de usuarios.
Importante
En la base de datos se almacena las contraseñas de forma encryptada, bajo circunstancias normales, es decir si la cuenta del usuario se ha creado bien sea por alguno de los procesos de sincronización con DANTA o a través del frontal de administración de moodle.
Para solucionar el requerimiento de generar contraseñas, se debe realizar un proceso manual (hasta que se haga uno automático), que toma una subcadena de la columna idnumber del registro de cada usuario y la establece como contraseña; en este caso y sólo en este, la contraseña se graba de forma plana, permitiéndose así visualizarla para futuras consultas. La contraseña permanecerá plana, siempre y cuando no sea cambiada por alguna de las formas posibles en moodle. Esto no crea conflicto con el mecanismo de autenticación, ya que se agrego al código original de moodle, sentencias para comparar contraseñas planas y permitir el inicia de la sesión de usuario. Es importante, se recomiende al usuario cambiar la contraseña.
Resumen del procedimiento
Listado de estudiantes de Madrid y Roma (atención al filtro)
--Filtro de usuarios a aplicar nuevas contraseñas
SELECT * FROM mdl_user
WHERE upper(city) = 'ROMA' or upper(city) = 'MADRID'
AND lastlogin=0
ORDER BY lastname, firstname, city;
Generar las sentencias de actualización al grupo de usuarios
--Generar sentencias de actualización
SELECT CONCAT('UPDATE mdl_user set password = \'', SUBSTRING(idnumber, 1, 5),'\', confirmed = 1 WHERE id = ', id, ';') FROM mdl_user
WHERE upper(city) = 'ROMA' or upper(city) = 'MADRID'
AND lastlogin=0
ORDER BY lastname, firstname, city;
Exportar el resultado de la consulta a un archivo de texto y guardar con extensión SQL
Ejecutar el guión de comandos.
--Filtro de usuarios a aplicar nuevas contraseñas
SELECT idnumber, lastname, firstname, username, password FROM mdl_user
WHERE upper(city) = 'ROMA' or upper(city) = 'MADRID'
AND lastlogin=0
ORDER BY lastname, firstname;
NOTA: aquí se debe adecuar la consulta a los requerimientos
COMPROBACIÓN: al ejecutar la sentencia anterior, se debe visualizar las contraseñas planas para cada uno de los registros obtenidos en la consulta.
Finalmente, se ha exportar el archivo a texto u otro formato útil.
Importante
En la base de datos se almacena las contraseñas de forma encryptada, bajo circunstancias normales, es decir si la cuenta del usuario se ha creado bien sea por alguno de los procesos de sincronización con DANTA o a través del frontal de administración de moodle.
Para solucionar el requerimiento de generar contraseñas, se debe realizar un proceso manual (hasta que se haga uno automático), que toma una subcadena de la columna idnumber del registro de cada usuario y la establece como contraseña; en este caso y sólo en este, la contraseña se graba de forma plana, permitiéndose así visualizarla para futuras consultas. La contraseña permanecerá plana, siempre y cuando no sea cambiada por alguna de las formas posibles en moodle. Esto no crea conflicto con el mecanismo de autenticación, ya que se agrego al código original de moodle, sentencias para comparar contraseñas planas y permitir el inicia de la sesión de usuario. Es importante, se recomiende al usuario cambiar la contraseña.
Resumen del procedimiento
- Para obtener los nombres de usuario y contraseña para un grupo de usuario se ha de construir un filtro de usuarios, que cumplan los requisitos planteado.
- Se ha de generar las sentencias de actualización, donde se toma una subcadena de la columna idnumber y se establece como contraseña, esta contraseña se almacena en la base de datos de forma plana.
- Se ha exportar a un archivo SQL las sentencias de actualización generadas anteriormente, y se ha de ejecutar este guión de comandos.
- Finalmente, se ha de volver a aplicar el filtro para obtener el listado, para posterior difusión.
Listado de estudiantes de Madrid y Roma (atención al filtro)
--Filtro de usuarios a aplicar nuevas contraseñas
SELECT * FROM mdl_user
WHERE upper(city) = 'ROMA' or upper(city) = 'MADRID'
AND lastlogin=0
ORDER BY lastname, firstname, city;
Generar las sentencias de actualización al grupo de usuarios
--Generar sentencias de actualización
SELECT CONCAT('UPDATE mdl_user set password = \'', SUBSTRING(idnumber, 1, 5),'\', confirmed = 1 WHERE id = ', id, ';') FROM mdl_user
WHERE upper(city) = 'ROMA' or upper(city) = 'MADRID'
AND lastlogin=0
ORDER BY lastname, firstname, city;
Exportar el resultado de la consulta a un archivo de texto y guardar con extensión SQL
Ejecutar el guión de comandos.
--Filtro de usuarios a aplicar nuevas contraseñas
SELECT idnumber, lastname, firstname, username, password FROM mdl_user
WHERE upper(city) = 'ROMA' or upper(city) = 'MADRID'
AND lastlogin=0
ORDER BY lastname, firstname;
NOTA: aquí se debe adecuar la consulta a los requerimientos
COMPROBACIÓN: al ejecutar la sentencia anterior, se debe visualizar las contraseñas planas para cada uno de los registros obtenidos en la consulta.
Finalmente, se ha exportar el archivo a texto u otro formato útil.
Comentarios