52 Asignar PERMISOS a las RUTAS en el curso de LARAVEL 10 Sistema de control de asistencia

Duración: 18 min
Módulo: Reportes Profesionales, Roles y Despliegue Final 🛡️ Lección 5 de 9

Descripción

🛣️ Lección 52: Asignación de Permisos a las Rutas

1. Nombramiento de Rutas (Name Routes)

El primer paso fue asegurar que todas las rutas clave en el archivo web.php tuvieran un nombre único (name). Esto es crucial para que el paquete Spatie pueda referenciar y restringir el acceso a ellas:

  • Se revisaron y se asignaron nombres a las rutas de tipo GET, incluyendo las de reportes (ej: asistencia.reportes, asistencia.PDF) y la principal (Index) [03:07].
  • Se confirmó que las rutas de tipo resource (Miembros, Ministerios, Usuarios, Asistencia) ya generan un conjunto de nombres automáticamente (ej: miembros.index, miembros.create, miembros.store), lo que simplifica la tarea [13:58].

2. Creación y Asignación de Permisos

Se modificó el archivo RoleSeeder para crear los permisos y luego asignarlos a los roles definidos:

  • Creación de Permisos: Se utilizaron las funciones de Spatie para registrar cada ruta nombrada como un Permiso en la base de datos (ej: Permission::create(['name' => 'Index'])) [05:52]. Se crearon un total de nueve permisos basados en las rutas principales.
  • Asignación de Permisos a Roles: Una vez creados los permisos, se usó la función $role->givePermissionTo('nombre_del_permiso') para definir las capacidades de cada rol:
Ruta (Permiso)Rol: AdministradorRol: SecretariaRango de Tiempo
Index, reportes, PDF, PDFfechas, Home, asistencias✅ Acceso Total✅ Acceso Total[09:09] - [10:48]
miembros, ministerios, usuarios✅ Acceso Total❌ Acceso Restringido[15:55] - [16:16]
  • Ejecución del Seeder: Se ejecutó el seeder (php artisan db:seed) para registrar los permisos y sus relaciones con los roles en las tablas permissions y role_has_permissions [16:26].

Resultado: La base de datos quedó configurada para que, por ejemplo, la Secretaria solo tenga acceso a la vista principal y a todas las funciones de Reportes y Asistencia, mientras que las secciones administrativas como Miembros, Ministerios, y Usuarios quedan restringidas únicamente al Administrador. El próximo video se centrará en la validación de estas restricciones.