Curso Laravel Página Web Administrable

Login con Auth

Para crear un login debemos levantar la terminal y ejecutar el comando artisan correspondiente, donde básicamente generará los archivos necesarios.

Lección 9 del Curso Laravel Página Web Administrable

DESCRIPCIÓN DE LA LECCIÓN

Bien, en esta parte del curso vamos a establecer la lógica del sistema de autenticación para nuestro proyecto web. Laravel nos provee de un sistema de autenticación muy fácil de implementar pero con un robusta arquitectura que podemos aprovechar además de ser muy sencilla su implementación.

¿Cómo crear un login con roles sencillo?

Nuestra lógica parte que tendremos dos tipos de ususarios:

  1. El administrador .- Accede a gestionar las informarción de la página web 
  2. El suscriptor.- Se registra y accede a una determinada sección

Login en Laravel 8

Pues muy fácilmente con dos comandos que a continuación veremos, pero antes aclaro debes tener instalado correctamete Laravel 8. Sigamos:

En la terminal escribimos 

composer require laravel/ui

Luego traemos la autenticación sin librerias como react, vue o bootstrap:

php artisan ui:auth

Y listo ya tenemos un sistema de login y registro completamente funcional. pero para nuestro propósito necesitamos hacer las siguientes modficaciones

Agregando tipo de usuario

Necesitamos agregar un atributo al modelo y la migración User para poder validar el tipo de usuario con un valor booleano. Es decir si admininistrador tendrá un valor de 1 o true y si es suscriptor se le asignará false o 0. Bajo ésta lógica implementemos lo siguiente:

Models/User.php

protected $fillable = [
        'name',
        'email',
        'password',
        'tipo_usuario'
    ];

En la migración correspondiente a User tambien debemos declarar el atributo.

public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('email')->unique();
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password');
            $table->boolean('tipo_usuario')->default(0); // 0 = suscriptor && 1 = administrador
            $table->rememberToken();
            $table->timestamps();
        });
    }

Con esto ya podemos hacer la migración correspondiente:

Testing en el Login

Para realizar un test, debemos:

  • Levantar el servidor local,
  • Tener la conexión a la base de datos correcta
  • Realizar la migración 
  • Realizar un registro y login de usuarios determinando el tipo de usuario que acceder y redirigir a determinada sección según los privilegios otorgados durante el proceso de autenticación.

Migrar el modelo en cuestión requiere escribir el siguiente comando artisan en nuestra terminal.

php artisan migrate

Esto hará que en nuestra base de datos se creen varias tablas de las cuales la que nos interesa para este caso es la tabla User con el campo tipo_usuario correctamente creadas.

Luego procedemos a registrar un usuario, si se realiza el registro correctamente veremos que se ha guardado el tipo_usuario con el valor 0 es aquí dónde le damos el valor de 1 al administrador. 

Determinar el rol del usuario en el proceso de Login

Pues básicamente en el Controlador de Login debemos realizar la validación para que el usuario accceda a determinada sección si es administrador o suscriptor

LoginController.php editamos agregando use Auth para acceder a los datos del usuario autenticado y creamos un método redirectPath el cual va a evaluar al usuario.

<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Auth;

class LoginController extends Controller
{
   
    use AuthenticatesUsers;
   
    protected $redirectTo = RouteServiceProvider::HOME;

    public function __construct()
    {
        $this->middleware('guest')->except('logout');
    }

    public function redirectPath(){
        if(Auth::user()->tipo_usuario){ 
            return '/admin/panel';
        }
        return '/home';
    }

}

Evaluamos si el usuario tiene el valor 1 en tipo_usuario si es asi retorna la ruta admin/panel, si no se cumple esta condición sencillamente retorna la ruta home. Finalmente hacemos las pruebas necesarias de login y registro de usuarios.


POR LA COMPRA DEL CURSO COMPLETO

  • MIRA TODOS LOS VIDEOS SIN RESTRICCIÓN
  • TEN ACCESO AL CURSO
  • DESCARGA TODO CÓDIGO FUENTE DEL PROYECTO
  • ACCESO A CURSOS Y RECURSOS GRATIS

Laravel Página Web Administrable

¿Cómo crear un Login en Laravel 8? Comando Artisan para Auth

21372 visitas

Lecciones del curso

5. Configuraciones Básicas 799
8. Bootstrap, fuentes y recursos gráficos 802
10. Modelo y Migración Categoria 647
11. Modelo y Migración Productos 522
12. Modelo y Migración Post 483
13. Modelo y Migración Carrusel 493
14. Modelo y Migración Configuración 460
15. Modelo y Migración Empresa 469
16. Arquitectura de Urls 669
18. CRUD categoria 850
19. CRUD producto 1557
20. CRUD Blog 847
21. CRUD Carrusel 806
22. CRUD Empresa 483
23. Debug y llenado de datos 456
24. ViewComposers y Layout FrontEnd 837
25. Menu Navegación dinámico 539
26. Carrusel imágenes dinámico 547
27. Artesanías más demandas 461
29. Diseño FrontEnd de la Portada 516
30. Diseño FrontEnd Empresa 444
31. Diseño FrontEnd página artesanías 560
32. Diseño FrontEnd página categorías 436
33. Diseño FrontEnd página Productos 432
34. Diseño FrontEnd página Blog 436
35. Diseño Frontend página post 581
36. Diseño FrontEnd página Contacto 466
37. Proceso del Formulario 546
VER MÁS CURSOS
Codea App

Codea App FullStack

Perú, México, Colombia, España, Venezuela, Argentina, Bolivia

You Fb Tik Pin

© Todos los derechos reservados Codea App FullStack | Cursos de programación avanzados | 2020 - 2021