Dev (Back & Front)ARTIGO

Criando sua própria autenticação do Drupal

Como uma das grandes vantagens de se trabalhar com o Drupal é a de
que ele é altamente customizável, a autenticação não poderia ficar para trás. Neste artigo vamos ver como é simples criar seu próprio sistema
de autenticação para o Drupal.

Para tornar este artigo mais fácil de entender, vamos criar um
módulo real que vai autenticar todos os usuários que estão em um
arquivo texto. O nome do nosso módulo será fileauth.

Basicamente vamos apenas usar um hook para criar nosso módulo, o hook_auth.

Então chega de bla bla bla e vamos lá…

Primeiro crie o diretório fileauth onde os arquivos do nosso módulo vão ficar e crie o arquivo fileauth.info dentro dele.

Agora crie o arquivo usuarios.txt com o seguinte conteúdo:

  • pedro:1234

  • priscilla:4321
  • fulano:abcd
  • zezinho:obdc

Estando com tudo pronto, vamos para o módulo. Crie o arquivo fileauth.module e coloque o seguinte conteúdo. Em seguida vou explicar o que ele vai fazer…

<?php<br /><br />function fileauth_auth ($username, $password, $server) {<br /><br />  $file = drupal_get_path('module', 'fileauth') . '/usuarios.txt';<br /><br />  // File not found<br /><br />  if ( !file_exists($file) ) {<br /><br />    drupal_set_message("File '$file' not found!", 'error');<br /><br />    return FALSE;<br /><br />  }<br /><br />  $users = file($file, FILE_IGNORE_NEW_LINES);<br /><br />  // No users on file<br /><br />  if (!count($users)) {<br /><br />    return FALSE;<br /><br />  }<br /><br />  foreach ($users as $user) {<br /><br />    list($u, $p) = split(':', $user);<br /><br />    if ($u == $username && $p == $password) {<br /><br />      return TRUE;<br /><br />    }<br /><br />  }<br /><br />  // User not found...<br /><br />  return FALSE;<br /><br />}<br /><br />?>

Muito simples, né? Vamos à explicação…

Caso o Drupal não ache o usuário em sua base de dados, ele executa
nossa função passando o usuário e a senha que foram escritos no
formulário. O parâmetro $server pode ser esquecido neste momento por
nós, pois não vai ter utilidade…

O módulo apenas abre o arquivo e procura por um usuário:senha… Simples, né?

Você agora pode fazer o que quiser… validar com usuários de banco de dados, XML-RPC etc. O céu é o limite…

Até a próxima.

Publicado originalmente em Drupal Brasil por Pedro Faria.

é a maior comunidade brasileira de profissionais Drupal, gerando conteúdo de qualidade também para o iMasters. http://drupal-br.org

Ver perfil