Este artigo trata de programação direta no banco de dados. Se você não é familiarizado com banco de dados e programação entre em contato com um especialista.
Redes MNet é uma funcionalidade adicionado no Moodle 1.8 e é uma forma do Moodle poder compartilhar seus usuários com outros sistemas. Assim um usuário do Moodle possui seus dados sincronizados com uma base de dados externa e principalmente, a alteração da senha só acontece no sistema externo e este é responsável pela sincronização com o Moodle.
Então na tabela mdl_user
foi adicionado uma coluna chamada mnethostid
. O campo mnethostid
é referente ao campo id da tabela mdl_mnet_host
. O valor padrão desta coluna é encontrado na variável global $CFG->mnet_localhost_id
.
Para você acessar a lista de servidores remotos, você precisa acessar em seu Moodle a URL http://[URLMOODLE]/admin/mnet/peers.php e que não existe um menu que o leve a ele. Ao acessar você verá apenas um HOST que é o "Todos os hosts" e se você tentar cadastrar via formulário terá problemas grandes quando for pedido a Chave Publica deste HOST que requer um conhecimento avançado de openssl. E não vamos precisar disso.
Existe vários usos do MNet, mais o principal é quando se necessíta que as alterações de senha só devem acontecer em um backend externo e não deve ser feito no Moodle.
Também há como usar MNet para sincronizar usuários em cursos, baseado em sistemas externo, incrição remota, etc...
Primeiro via admin do banco de dados vamos adicionar um novo valor:
Só é necessário preencher os campos wwwroot
, ip_address
e name
.
O SQL é:
INSERT INTO `mdl_mnet_host` ( `id`, `deleted`, `wwwroot`, `ip_address`, `name`, `public_key`, `public_key_expires`, `transport`, `portno`, `last_connect_time`, `last_log_id`, `force_theme`, `theme`, `applicationid`, `sslverification`) VALUES ( NULL, '0', 'http://www.salasead.com.br', '46.101.151.137', 'Salas EAD', '', '0', '0', '0', '0', '0', '0', NULL, '1', '0');
Agora só listar os valores, ou entrar em http://[URLMOODLE]/admin/mnet/peers.php e ver qual o ID deste MNet.
Temos o numero 3 que foi adicionado. Então agora for criar um usuário, ou atualizar os usuários, a coluna mnethostid
deve receber este valor.
Exemplo abaixo adiciona um usuário com MNet gerenciado do Moodle:
$newUser = new stdClass(); $newUser->auth = 'manual'; $newUser->firstname = 'Nome'; $newUser->lastname = 'SobreNome'; $newUser->username = 'loginDoUsuario'; $newUser->password = md5( 'senha' ); $newUser->email = 'teste@teste.com'; $newUser->confirmed = 1; $newUser->mnethostid = $CFG->mnet_localhost_id; $newUser->lang = $CFG->lang; $newUser->maildisplay = 1; $newUser->timemodified = time(); $newUser->lastip = getremoteaddr(); $newUser->id = $DB->insert_record( 'user', $newUser );
Veja como aparece o Perfil do usuário neste caso:
Veja que aparece o botão "Modificar perfil". Agora, se no lugar de mnethostid
colocar o ID que foi adicionado, como abaixo:
$newUser = new stdClass(); $newUser->auth = 'manual'; $newUser->firstname = 'Nome'; $newUser->lastname = 'SobreNome'; $newUser->username = 'loginDoUsuario'; $newUser->password = md5( 'senha' ); $newUser->email = 'teste@teste.com'; $newUser->confirmed = 1; $newUser->mnethostid = 3; // ID gerado no mdl_mnet_host $newUser->lang = $CFG->lang; $newUser->maildisplay = 1; $newUser->timemodified = time(); $newUser->lastip = getremoteaddr(); $newUser->id = $DB->insert_record( 'user', $newUser );
O perfil aparece assim:
Legal né? Você também pode editar os