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.
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:
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
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:
Para realizar un test, debemos:
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.
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.
37353 visitas
Descarga el código fuente del proyecto adquiriendo el curso completo
Descargar ahora© Todos los derechos reservados Codea App | ...de frente al código!!! | 2020 - 2023