Proteger rutas con gates II
Comprar curso

171. Proteger rutas con gates II

En este capítulo seguimos viendo como proteger una ruta utilizando los gates


2 comentarios

Inicia sesión para comentar

Comentarios:

  • Victor Arana Flores

    Victor Arana Flores hace 1 año Destacado

    En Laravel, los Gates son una herramienta esencial para proteger rutas y controlar el acceso a ciertas acciones dentro de tu aplicación. Para proteger rutas utilizando Gates, primero debes definir los Gates relevantes y luego aplicarlos a las rutas correspondientes.

    Para definir un Gate en Laravel, debes crear una función que acepte un usuario y los datos relevantes de la solicitud, y devuelva verdadero o falso dependiendo de si el usuario tiene acceso o no. Luego, puedes agregar el Gate a la política de acceso relevante para que se aplique automáticamente a todas las solicitudes relacionadas con ese recurso.

    Una vez que hayas definido los Gates relevantes, puedes aplicarlos a las rutas correspondientes utilizando el método "can". Por ejemplo, si deseas proteger una ruta para que solo los usuarios autenticados puedan acceder a ella, puedes agregar el Gate "auth" a la definición de la ruta utilizando el método "can".

    También puedes proteger rutas para usuarios anónimos utilizando Gates. Por ejemplo, si deseas proteger una ruta para que solo los usuarios anónimos puedan acceder a ella, puedes agregar el Gate "guest" a la definición de la ruta utilizando el método "can".

    En caso de que un usuario no tenga acceso a una ruta, Laravel proporciona una respuesta predeterminada de "Acceso denegado". Sin embargo, puedes personalizar esta respuesta utilizando el método "denies" en la definición del Gate. Por ejemplo, puedes agregar un mensaje personalizado para explicar por qué se denegó el acceso y qué acciones deben tomar los usuarios para obtener acceso.

    En resumen, los Gates son una herramienta esencial en Laravel para proteger rutas y controlar el acceso a ciertas acciones dentro de tu aplicación. Al aprender cómo definir y aplicar Gates a las rutas relevantes, puedes agregar una capa adicional de seguridad y personalización a tu aplicación Laravel. Asegúrate de aprovechar al máximo esta funcionalidad en tu proyecto y proteger adecuadamente tu aplicación contra el acceso no autorizado.

  • Eduardo Martínez

    Eduardo Martínez hace 5 meses

    Buenas Victor!

    Ha debido pasar algo con la realización de este vídeo, porque se detiene abruptamente mientras definías la condicional en el cuerpo del método edit.

    A partir de lo que copilot te sugería, y despues de bichear un poco he definido del siguiente esa condicional del siguiente modo:

    if(Gate::denies('author', $post)) {
    	abort(403);
    };

    Así, si el usuario trata de acceder a la edición de un post que no le pertenece, le lanzará un “no autorizado”.

    No es si es exactamente como lo planteabas, pero lo comparto por si a alguien le pudiera servir.


    Un saludo!

    • Victor Arana Flores hace 5 meses

      Hola Eduardo, ya me habia avisado que estaba cortado. Pense que ya habia cambiado el video. Deja que busco el video y lo vuelvo a subir.