Migração de curso/usuários para outro servidor

Migração de curso/usuários para outro servidor

por Marta Lopes -
Número de respostas: 5

Olá, eu fiz backup de vários cursos com os usuários e levei para outro servidor, quando restaurei esses backups a senha dos usuários como eu já esperava não se manteve.

Qual a melhor solução que você sugere para que possa orientar aos alunos, gostaria de uma forma de redirecionar sempre o primeiro acesso a tela para cadastrar uma nova senha.

Como eu faria isso?

 

 

Em resposta à Marta Lopes

Re: Migração de curso/usuários para outro servidor

por Lino Vaz Moniz -

Marta,

Você pode usar comando SQL ou um script PHP para força automaticamente todos os usuários a a mudarem a senha no próximo login. Veja esse post: https://comunidade.badiu.com.br/mod/forum/discuss.php?d=705

Vc pode também gerar um script PHP que mude a senha de todos os usuários. Você pode basear na lógica do script que muda a identidade de usuário e customizar a lógica para implementar apenas a mudança de senha.

Em resposta à Lino Vaz Moniz

Re: Migração de curso/usuários para outro servidor

por Marta Lopes -

Olá, muito obrigada pela resposta, então vou ter que executar o comando SQL abaixo ?

UPDATE mdl_user_preferences SET value='1' WHERE userid=? AND name='auth_forcepasswordchange'

Pois os meus usuários já estão cadastrados com uma senha que eles não sabem qual é.

Assim quando logarem informando a última senha que sem lembram cairá na tela de cadastro de uma nova senha.

(Editado por Lino Vaz Moniz - sábado, 10 out 2020, 13:14)

Em resposta à Marta Lopes

Re: Migração de curso/usuários para outro servidor

por Lino Vaz Moniz -

Marta, esse comando:

UPDATE mdl_user_preferences SET value='1' WHERE userid=? AND name='auth_forcepasswordchange'
é para forçar a mudança de senha no próximo login.

Se os alunos não sabem a senha, uma alternativa é usar recuperação de senha. 

Em resposta à Lino Vaz Moniz

Re: Migração de curso/usuários para outro servidor

por Marta Lopes -

Então, eu pensei em dar update no campo senha em toda tabela e cadastrar uma senha padrão, pensei em usar o próprio e-mail como senha ou parte dele.

UPDATE mdl_user SET password = 'e-mail' WHERE id >=1

como eu faria esse update na senha sendo que a senha eh criptografada?

e em seguida executaria o comando para UPDATE mdl_user_preferences SET value='1' WHERE userid=? AND name='auth_forcepasswordchange' para forçar a mudança de senha no próximo login.

Gostaria de uma alternativa para não usar "recuperar senha".

 

 

Em resposta à Marta Lopes

Re: Migração de curso/usuários para outro servidor

por Lino Vaz Moniz -

Marta,

Para mudar a senha de todos os alunos para que seja e-mail, tenta fazer de seguinte forma:

a) Altere o código que está nesse post: https://comunidade.badiu.com.br/mod/forum/discuss.php?d=235

b) Mude a função  function change_identity($useid) para,

function change_identity($useid,$email){
global $DB;
$dto= new object();
$dto->id=$useid;
$dto->password=hash_internal_user_password($email);
$resul=$DB->update_record('user', $dto);
return $resul;

}

Após isso, execute esse código em um ambiente teste. Dando certo, leve para produção.