✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Sistema de Registro de Usuário e Login no Laravel

330

O Laravel fornece sistema de login e registro de usuário embutido. A maioria dos desenvolvedores não conhece esse sistema embutido (eu também fui um deles). Quando soube desse recurso, fiquei surpreso. Ele economiza muito tempo com a criação de um sistema de login e registro do zero.

Neste artigo, estudamos o sistema de registro e login do usuário no Laravel – o recurso integrado fornecido pelo próprio Laravel.

Como todos sabemos, o processo de login e registro tem o fluxo abaixo que geralmente precisa ser integrado.

  • O usuário cria uma conta
  • O link de confirmação será enviado no endereço de e-mail do usuário
  • Assim que o usuário clicar no link de confirmação, eles serão ativados em seu sistema.
  • O usuário faz login no seu site e pode acessar as páginas

Todas as etapas acima são abordadas no Laravel. Você não precisa escrever um código para construir este sistema de criação de usuário.

Dito isso, vamos dar uma olhada no sistema de registro e login do usuário no Laravel

Começando

Para começar, você deve estar pronto com o projeto Laravel. Se você não tiver, crie-o executando o comando:

composer create-project --prefer-dist laravel/laravel laravel-dev

Aqui, ‘laravel-dev’ é o nome do projeto Laravel. O usuário pode alterar este nome.

Em seguida, você deve integrar a autenticação do Laravel. Vá até o diretório raiz do projeto no terminal e execute os comandos abaixo um por um:

composer require laravel/ui --dev
php artisan ui vue --auth
npm install && npm run dev

Estes comandos irá criar controladores de autenticação como LoginController.php, RegisterController.php, etc, que você vai encontrar no app/Http/Controllers/Authdiretório. Ele também cria visualizações login.blade.php, register.blade.phpno resources/view/authdiretório.

Os comandos acima também criam um app.blade.phparquivo no resources/views/layoutsdiretório. Esta visualização é um layout básico para o aplicativo. Ele usa a estrutura CSS do Bootstrap, mas o usuário pode personalizá-la e alterar o design.

Execute o comando de migração que criará uma tabela de ‘usuários’ em seu banco de dados.

php artisan migrate

Agora, se você executar o projeto Laravel no navegador, verá os links para login e formulário de registro.

Sistema de Registro de Usuário e Login no Laravel

Nesta fase, os usuários podem criar sua conta e fazer login no site. Mas como mencionei acima, antes que um usuário possa acessar o sistema, ele deve ter confirmado sua conta.

Na próxima etapa, veremos como realizar o processo de verificação de e-mail de um usuário.

verificação de e-mail

Ao construir um sistema de registro, quando o usuário se inscreve, você envia um link de ativação aos usuários. Este link de ativação será usado para verificar a conta do usuário. Uma vez, o usuário clica em um link de ativação, então o tornamos ativo. Em outras palavras, após verificar se o usuário da conta pode navegar pelas páginas de seu aplicativo.

O Laravel fornece um sistema embutido de processo de verificação de e-mail para um usuário recém-registrado. Usando este sistema, um usuário registrado receberá um e-mail com um link de ativação. Ao ativar a conta, o usuário poderá acessar o sistema.

Abra o AppUser.phparquivo e certifique-se de que o modelo ‘Usuário’ implementa o IlluminateContractsAuthMustVerifyEmailcontrato.

<?php
 
namespace App;
 
use IlluminateContractsAuthMustVerifyEmail;
use IlluminateFoundationAuthUser as Authenticatable;
use IlluminateNotificationsNotifiable;
 
class User extends Authenticatable implements MustVerifyEmail
{
    ...
    ...
}

Como funciona? Se você verificar o arquivo de migração, a tabela ‘usuários’ contém uma email_verified_atcoluna. Esta coluna será usada para verificar se o usuário ativou sua conta ou não. Se a conta estiver ativada, esta coluna deve conter a data e hora da ativação.

Quando você executa o comando de autenticação, ele cria uma AuthVerificationControllerclasse que possui uma lógica escrita para enviar links de verificação e verificar emails. O desenvolvedor pode verificar este arquivo. Para registrar as rotas necessárias para este controlador, escreva as rotas abaixo no routes/web.phparquivo.

Auth::routes(['verify' => true]);

O usuário pode proteger suas rotas, que devem estar por trás do login. Para proteger as rotas, você precisa se inscrever middleware('verified')nessas rotas. Depois disso, essas rotas protegidas podem ser acessadas apenas por contas verificadas.

Você pode escrever o código para proteger a rota da seguinte maneira:

Route::get('profile', function() {
    return '<h1>This is profile page</h1>';
})->middleware('verified');

Se você deseja ter controle de para onde redirecionar o usuário após a verificação, abra o AuthVerificationControllerarquivo. O arquivo possui a variável $redirectToque será usada para redirecionamento. Altere esta rota de acordo com sua necessidade.

protected $redirectTo = '/home';

Login e registro do usuário

Agora você está pronto para testar o sistema de login e registro do usuário. Como estamos lidando com o processo de inscrição, seu sistema deverá ser capaz de enviar um e-mail. Você pode usar o servidor SMTP do Gmail para enviar e-mails. Para mais detalhes, leia nosso artigo Enviando e-mail via servidor SMTP do Gmail no Laravel.

Inicie o servidor de desenvolvimento local usando o comando:

php artisan serve

Crie uma conta de usuário na página de registro aqui – http: // localhost: 8000 / register

Sistema de Registro de Usuário e Login no Laravel

Após o envio de um formulário, você receberá o link de verificação em seu e-mail da seguinte forma:

Sistema de Registro de Usuário e Login no Laravel

Observe que o Laravel permite que você faça login na sua conta mesmo que ainda não tenha verificado a conta. Mas você não pode acessar a rota protegida.

Eu adicionei middleware para a rota profile. Sem verificar a conta, se você tentar visitar a página http: // localhost: 8000 / profile, ele será redirecionado para a URL http: // localhost: 8000 / email / verify.

Sistema de Registro de Usuário e Login no Laravel

Vá em frente e verifique sua conta. Verifique a tabela ‘usuários’ no banco de dados e você verá a email_verified_atcoluna preenchida com a data e hora da ativação. Isso significa que você verificou sua conta com sucesso. Agora você deve conseguir acessar as rotas protegidas.

Espero que você entenda como usar o sistema de registro e login de usuário no Laravel. Por favor, compartilhe suas idéias e sugestões no comentário abaixo.

Artigos relacionados

Fonte de gravação: artisansweb.net

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação