• Cadastro
  • Fóruns
  • Manual
  • Projetos
  • Seminário
  • Tradução
  • Tutoriais
  • Dicas
Início

Itens ativos

  • Módulo Blog para drupal 6.0x
  • i18n - Seria um bug? Tem solução?
  • Paginação
  • Feeds
  • Menu horizontal automático...
  • Melhor Performance no Drupal 6
  • CCK no Drupal 6.4
  • Ocultar o menu de navegação / nice menu
  • Criar Janela Separada... Exemplo "Sobre o Mozilla Firefox"
  • Email - envio
mais

Pesquisa

Google
Web Drupal Brasil

Login do usuário

  • Criar nova conta
  • Solicitar uma nova senha

Parceiros

Assine o RSS do Drupal-BR

RSS dos itens mais ativos

RSS do conteúdo

RSS dos comentários

Início » Tutoriais

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

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 usuario 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.

‹ Como instalar e configurar o TinyMCE no DrupalacimaCriando um tema para o Drupal ›
Enviado por pedrofaria em ter, 14/08/2007 - 18:15.
  • Versão para impressão
  • Por favor, se logue ou se registre para poder enviar comentários
  • 1222 leituras
Designimage

Este site é feito, orgulhosamente, com Drupal.