How to create a login system in Laravel


Na versão 5.2 do Laravel existe um  recurso para o sistema de autenticação, onde é possível criar os arquivos views, rotas e controladores com apenas um comando  make:auth 
A partir desta versão, você pode gerar o sistema de login e registro entre outros com o seguinte comando:



    1. php artisan make:auth
Uma vez criado o sistema de autenticação, se faz necessário a criação do banco de dados relacionado a ele, para tanto, você deve usar o sistema de migração que vai gerar as tabelas de dados. Digite o comando a seguir para realizar este processo:


    1. php artisan migrate
O controle do sistema de login é realizado por  Route::auth()  que se encontra no arquivo:
 vendor/laravel/framework/src/Illuminate/Routing/Router.php  

Para realizar modificações no sistema, você deve acessar o arquivo archivoAuthController.php  que e encontra em: /app/Http/Controllers/Auth/  


Este arquivo contem a criação e validação de usuários. você deve modificá-lo, caso deseje adicionar campos de usuário, por exemplo. Lembre porém, que, sempre que adicionar um campo novo no banco, através de migrate, você deve fazer a migração novamente.

Em seguida mude a views register.blade.php
 /resources/views/auth/   

Mude o Model do usuário em: /app/User.php  
Para inserir as variaveis $filable dos novos campos

Antes de usar o sistema de autenticação você deve rodar o comando a seguir para criar as tabelas do banco:

    1. php artisan migrate
Este comando vai rodar o conteúdo dos arquivos que estão na pasta database/migrations  

O próximo passo é acessar a página de registro e criar o primeiro usuário do sistema e realizar o login com ela.


PERSONALIZAÇÃO DO SISTEMA DE AUTENTICAÇÃO:
O sistema de autenticação do Laravel 5.2 está presente no sistema de rotas através da rota  Route::auth() no arquivo padrão de rotas:  App\Http\routes.php    
Se você deseja realizar mudanças na autenticação, você deve acessar o arquivo que contém esta classe  auth()  responsável pelo gerenciamento de usuários. Está classe localiza-se no seguinte arquivo: 
  vendor\laravel\framework\src\Illuminate\Routing\Router.php  


Conforme a seguir:

    1. public function auth()
    2. {
    3. // Rotas de autenticação...
    4. $this->get('login', 'Auth\AuthController@showLoginForm');
    5. $this->post('login', 'Auth\AuthController@login');
    6. $this->get('logout', 'Auth\AuthController@logout');
    7.  
    8. // Rotas de registro...
    9. $this->get('register', 'Auth\AuthController@showRegistrationForm');
    10. $this->post('register', 'Auth\AuthController@register');
    11.  
    12. // Rotas de reinicialização da senha...
    13. $this->get('password/reset/{token?}', 'Auth\PasswordController@showResetForm');
    14. $this->post('password/email', 'Auth\PasswordController@sendResetLinkEmail');
    15. $this->post('password/reset', 'Auth\PasswordController@reset');
    16. }
Conforme podemos ver, esta classe contem as rotas de todo o controle do usuário. Você pode mudá-la no próprio arquivo ou comentá-la onde se encontra e copia-la para o arquivo de rotas padrão do Laravel: App\Http\routes.php  
Substituindo a classe  auth()  que lá está.

Comments

Popular posts from this blog

Vue.Js Exemple

Export to Excel Laravel 5.1

Instalando o NodeJS