Softsed

Roles y Permisos con Entrust Laravel 5.4



Lo primero será agregar en composer.json en la sección “requiere”:{} lo siguiente:

 

descargamos el paquete actualizando composer

y esperamos a que termine.

 

luego en Config/app.php  en la sección de providers agregar la siguiente linea:

 

en el mismo archivo Config/app.php en la sección de aliases, ponemos la siguiente linea:

 

 

Ahora, ubicándonos dentro de la carpeta de nuestro proyecto,  vamos publicar la configuración del paquete, con la siguiente linea:

 

ahora en config/auth.php, se adiciona lo siguiente

en caso de que sea otro el modelo para tu proyecto, se deberá modificar  App\User::class,

 

Para usar MIddleguard, se adiciona lo siguiente en app/Http/Kernel.php en el apartado routeMiddleware

 

Configuración

vamos a crear la migración de Entrust, ejecutando desde consola:

la consola nos pedirá confirmación para continuar con la creación, a lo cual debemos dar yes.

 

lo anterior generará un archivo php en la carpeta migrations, dentro de él, hay la información necesaria para crear las tablas que usa Entrust

ahora ejecutamos el siguiente comando para generar las tablas:

 

 

Luego de la migración tendremos cuatro nuevas tablas:

roles — almacena los roles
permissions —  almacena los permisos
role_user — almacena la relación muchos a muchos entre roles and usuarios
permission_role — almacena la relación muchos a muchos entre roles and permisos

 

 

Modelos

vamos a crear los modelos por consola:

comencemos con el modelo Role

 

y lo editamos para que quede así:

 

ahora el modelo Permission

y lo dejamos así:

 

 

después, en su modelo de usuarios  User usamos el trait EntrustUserTrait

 

 

esto habilitará la relación con Role y agrega los siguientes métodos:

roles(), hasRole($name), can($permission), and ability($roles, $permissions, $options) dentro de tu modelo User.

 

ahora es necesario ejecutar:

y con esto finalizamos la instalación y configuración

 

 

 

 

 

Soy Esteban, me gusta compartir lo que conozco; amo la tecnología y la educación

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *