[Laravel] Iniciantes – Tutorial: Criando um formulário de contato – Parte 06

Laravel para iniciantes

Esta é a sexta parte do tutorial “Criando um formulário de contato”. No post anterior, vimos como relacionar models Eloquent, criar migrations e seeds.

Nesse post vamos proteger a tela de listagem de mensagens fazendo com que só consiga ser acessada se existir um usuário logado. Para isso, vamos usar a autenticação básica que já vem nativa no Laravel.


Passo 01: Criando um formulário de login

Dentro de resources/views  crie um diretório chamado auth  e dentro dele uma view chamada login.blade.php

resources/views/auth/login.blade.php

Passo 02: Adicionar rotas para os métodos do Auth\AuthController

Abra o arquivo de rotas e adicione: auth.form  auth.login  auth.logout

app/Http/routes.php

O controller AuthController já vem na instalação padrão do laravel. Ele está em app/Http/Controllers/Auth/AuthController.php . Os métodos getLogin ,  postLogin  e getLayout estão definidos na trait AuthenticatesUsers.

Acesse do seu navegador o link http://localhost:8000/auth/login

Tela de login

Por padrão, o método getLogin  exibe a view  auth/login.blade.php

Passo 03: Proteger a rota /lista  com o middleware auth 

Para adicionar um middleware em uma rota, vamos ter que alterar o segundo parâmetro do método Route::get  para passar um array ao invés de uma string.

No momento está assim:

Ficará assim:

Isso faz com que o código que está dentro do método handle() da classe app/Http/Middleware/Authenticate.php seja executado antes do método lista()  do ContatoController . Esse é código verifica se existe a usuário logado.

Para mais detalhes de como toda a mágica de autenticação funciona, recomendo uma leitura na documentação oficial:

http://laravel.com/docs/5.1/authentication

Faça o teste tentando acessar o http://localhost:8000/lista. Você será redirecionado para /auth/login

Passo 04: Criando um usuário de teste para conseguir acessar a lista

Vamos criar um seeder de usuário. Acesse o terminal e execute o comando:

php artisan make:seed UsuarioSeed

 

Seed de usuario - Laravel

Este comando cria uma classe chamada UsuarioSeed  dentro de databases/seeds . Edite ela:

Execute o seed com o comando:

Agora efetue o login com as credenciais:


Por enquanto é isso! No próximo post vamos ver como organizar melhor nossas rotas e views.

Dúvidas? Fique a vontade nos comentários!