Auditando Login e Logout de usuários no Laravel
Newsletter
Bem, este é meu primeiro poste então espero que relevem qualquer gafe que eu venha a cometer neste artigo, porém todo comentário construtivo é bem vindo :D.
Neste artigo estou trazendo uma forma simples de auditar eventos do usuário em um sistema desenvolvido com o Laravel. No exemplo que irei utilizar vamos registrar no banco de dados os logs do usuário sempre que ele entrar ou sair do sistema.
Suponho que você já possui conhecimento em Laravel e também tem um projeto criado, por isso irei pular a instalação e configuração do projeto e do banco de dados para seguirmos direto ao objetivo deste artigo.
Vamos por etapas:
Primeiro passo:
Vamos roda o comando php artisan make:model Audit -m para criar nossas queridas model e migration.
- Na migration você coloca o seguinte código:
Acima temos o campo type que vai nos informar se foi realizado Login ou Logout, o campo description será uma breve descrição do que foi auditado e o user_id como já imagina é para registrar o usuário que está realizando a ação.
Você pode adicionar mais campos de acordo com suas necessidades ou preferências.
- Na model você vai inserir o seguinte código:
Agora, para finalizar esta etapa basta rodar o comando php artisan migrate para gerar a tabela audit no banco de dados.
Segundo passo:
Agora vamos criar 2 listeners (um de Login e outro de Logout).
Os listeners irão “ouvir” os eventos do usuário e executar algo quando ele efetuar login ou logout.
execute os dois comandos a seguir para criar nossos listeners:
- php artisan make:listener Audit/LogSuccessfulLogin
- php artisan make:listener Audit/LogSuccessfulLogout
Edite o arquivo app/Listeners/Audit/LogSuccessfulLogin.php inserindo as seguintes informações:
Edite o arquivo app/Listeners/LogSuccessfulLogout.php inserindo as seguintes informações:
Terceiro passo:
Agora precisamos registrar os listeners no arquivo app/Providers/EventServiceprovider.php
Caso sua aplicação ainda não possui as funcionalidades de autenticação você poderá rodar o scaffold do Laravel usando o comando php artisan make:auth e ser feliz testando.
Espero que este artigo contribua de alguma forma em sua vida. Também gostaria que comenta-se com dicas do que eu posso melhorar nos próximos que ainda virão.
Até uma próxima! :)