- userid
- name
- value
A configuração que força usuário a alterar a sua senha é: auth_forcepasswordchange=1. Assim que o usuário fizer o login, automaticamente é levado a alterar a senha. Feita a alteração a configuração será atualizada para auth_forcepasswordchange=0.
Ao fazer o cadastro do usuário via comando SQL, para forçá-lo a alterar a senha no primeiro login, é necessário executar o comando abaixo.
Comando SQL que força alteração de senha:
INSERT INTO mdl_user_preferences(userid,name,value) VALUES(10,'auth_forcepasswordchange', '1')
Nesse exemplo coloquei 10 para userid (id do usuário). Para esse código funcionar, substitua esse valor pelo id verdadeiro do usuário.
Poxa!! Valeu o post. Me ajudou muito.
ResponderExcluir[]s
Preciso alterar a senha de todos os usuários, como faço isso em um loop?
ResponderExcluirPara alterar a senha de todos os usuários, siga os seguintes passos:
ResponderExcluir1- Altere a senha de todos os usuários para 123 com o seguinte comando:
UPDATE mdl_user SET password=MD5('123')
2- Force todos os usuários a alterar a senha após o login. Para isso, siga os seguintes passos:
a. Faça um loop que leia o id de cada usuário na tabela mdl_user . Execute o seguinte comando SQL:
SELECT id FROM mdl_user
b. Através de um script PHP, ou qualquer outra linguagem, em cada registro extraído pelo loop atualize a variável auth_forcepasswordchange com o valor 1 na tabela mdl_user_preferences. Se a variável auth_forcepasswordchange ainda não for definida, execute o SQL:
INSERT INTO mdl_user_preferences(userid,name,value) VALUES(?,'auth_forcepasswordchange', '1')
caso esteja definido com valor 0 (zero), atualize o valor para 1 como seguinte comando:
UPDATE mdl_user_preferences SET value='1' WHERE userid=? AND name='auth_forcepasswordchange'
Substitua o parâmetro ? pelo id do usuário extraído em cada loop.