Inicio » Cursos » Laravel Página Web Administrable

Login con Auth | Curso Laravel Página Web Administrable

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

Lección 9: Login con Auth

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.

Nuestra lógica parte que tendremos dos roles o tipos de usuarios:

  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

¿Cómo hacer 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

<?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';
    }

}

Finalmente hacemos las pruebas necesarias de login y registro de usuarios.

 


36762 visitas

Más cursos que pueden interesarte

Más cursos

Codea Codea App

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

© Todos los derechos reservados Codea App | ...de frente al código!!! | 2020 - 2023