Blog Bugginho Academy

O básico sobre autenticação de usuário no Laravel 5.5

Uma das coisas mais comuns de se encontrar em uma aplicação, seja ela web, desktop ou mobile é sistema de login e senha. Proteger rotas para que usuário não autenticados as acessem é algo muito corriqueiro e por isso muitos Frameworks trazem esse recursos por padrão e o Laravel não é diferente.

Trabalhar com autenticação de usuário no Laravel é algo extremamente simples e para provar como isso é verdade, criaremos um sistema de login do zero nesse post. Vamos nessa!!!

Instalação do Framework

Se você já teve algum contato com o Laravel, você provavelmente poderá pular essa parte, caso contrário você verá como é simples (porém não tão rápido) realizar a instalação da ferramenta.

O que é necessário ter instalado para rodar o Laravel 5.5?

  • PHP >= 7.0.0
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension

Basicamente você precisa abrir o seu terminal (ou cmd), navegar até o diretório onde deseja instalar o framework e digitar o seguinte comando

Obs.: Mais informações sobre a instalação podem ser adquiridas no site oficial

Uma vez instalado, abra o seu novo projeto em seu editor preferido e edite o arquivo .env

Note que estamos trabalhando com o sqlite, logo, você precisa executar o comando abaixo para criar o seu banco

É interessante frisar que esse passo a passo também funciona no MySQL/MariaDB, bastando apenas trocar as configurações no arquivo .env

Pronto. Agora que já instalamos o Laravel 5.5, já criamos o banco de dados sqlite e já configuramos o arquivo .env, precisamos realizar a migração inicial (que já vem por padrão no Framework). Para isso basta rodar o seguinte comando:

Prontinho, as tabelas necessárias para a autenticação já foram criadas, vamos agora criar o scaffold de autenticação

Esse passo não é obrigatório. É possível autenticar criando seu próprio sistema de login, mas como a ideia aqui é mostrar o básico necessário, vamos optar por essa opção.

Agora é só rodar o servidor embutido do PHP para ver a magia rolar

Acesse o endereço http://localhost:8000/ e veja que tudo está rodando perfeitamente

Para criar um novo usuário basta acessar o endereço http://localhost:8000/register, preencher o formulário e submetê-lo.

Quando você cria o Scaffold com o comando make:auth do Artisan, o Laravel por padrão cria uma rota protegida “http://localhost:8000/home“. Se você tentar acessar essa rota, você será redirecionado para a tela de login, isso acontece porque a rota home está protegida. Realize login com o seu usuário recém criado e veja que terá acesso a essa rota.

Para proteger suas rotas, crie um grupo de rotas (em seu arquivo de rotas: routes/web.php) e set o middleware auth nelas. Exemplo:

Com o comando acima nós criamos um conjunto de rotas do tipo resource, e definimos o prefixo “admin”, com isso podemos acessar rotas como “admin/meuControlador/index” ou “admin/meuControlador/create”, etc. Todas essas rotas estarão protegidas por login e senha.

Viu como é simples?

O Laravel tem muitos recursos interessantes por padrão e a maioria é super simples de utilizar, vale muito a pena dar uma lida na documentação

Valeu, amiguinhos!!!

 

Paulo Reis

2 comentários

  • Olá! Paulo Reis, quero uma ajuda no meu projeto. Não consigo trazer dados de uma tabela para outra com o join. Está dando erro!
    $arrConta=DB::table (‘contas as c)
    ->join(‘cessionarios as ce’, ‘c.id’, ‘=’, ‘ce.id’)
    -> select(‘c.id’, ‘ce.nome’, ‘c.emissao’, ‘c.item’, ‘c.tipodeconta’, ‘c.vencimento ‘, ‘c.total’)

    Não retorna a lista com os dados das duas tabelas que são cessionarios e contas. Onde quero que apareça o nome do cessionario no listar contas. A relação é de 1:M. Um cessionario pode ter várias contas. Ele diz que a varável “conta” não foi declarada no form. Mas eu declarei no foreach.
    @foreach ($contas as $conta ).

  • E também como faço para pegar dados já cadastrados em um formulário, e cadastrá-los em outra. Ou seja, por exemplo, quando cadastramos alunos em uma escola, nós colocamos os dados pessoais. E de acordo com os dados pessoais cadastramos em turmas e turno, por idade, sexo, ou seja, critério de ajustes de sala. Para isso precisaria de carregar os dados do aluno que foi cadastrado.

Your Header Sidebar area is currently empty. Hurry up and add some widgets.