Laravel 5.4 #9 : Policies

Continuamos avanzando con Laravel y nuestro blog. Hoy vamos a explicar qué son las policies y las aplicaremos a nuestro proyecto.

Las policies son clases que nos permiten manejar las autorizaciones. Es decir, nos permiten restringir el acceso a usuarios a ciertas partes del proyecto fácilmente.

Creamos la policy:

Ahora tenemos que registrar la policy, para eso abrimos el archivo app\Providers\AuthServiceProvider.php  y en el array de policies añadimos la siguiente línea:

Como podemos ver cada policy tiene un modelo relacionado.

Una vez registrada tenemos que crear las restricciones para utilizarlas desde el controlador, aunque también se pueden utilizar desde las vistas, middleware y otros. Abrimos la policy:

Los métodos añadidos hacen lo mismo, comprueban si el usuario logueado es el mismo que el creador. Uno será para la edición y el otro para la eliminación.

Eliminamos casi todos los middlewares, porque con las policies que añadiremos ahora, el problema que solventaban, ya se resuelve. El controlador quedará así:

Ahora solamente nos falta crear la vista del error que nos retorna cuando no se cumple la condición de la policy. Creamos un archivo llamado 403.blade.php  en resources/views/errors :

Yo le he puesto ese contenido, pero tú puedes poner lo que quieras y darle el diseño que quieras también.

-

Policies: https://laravel.com/docs/5.4/authorization


Aloja tu proyecto en DigitalOcean: Obtén $200 de crédito gratis al registrarte a través de este enlace.

Si hay cualquier tipo de error en el post o te surge cualquier duda, no dudes en ponerlo en los comentarios o enviarme un correo desde la página de contacto.

? CONTACTAR

Deja una respuesta

  Acepto la política de privacidad