Download the PHP package jhonatanfdez/jhonatanpermisos without Composer

On this page you can find all versions of the php package jhonatanfdez/jhonatanpermisos. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package jhonatanpermisos

Jhonatan Permisos

Es un paquete que nos ayudará al manejo de roles y permisos para laravel 7 de manera sencilla.

Crea tu mismo este paquete:

GRATIS EN YOUTUBE

Si quieres saber paso a paso como fuimos creando la estructura que usamos en este paquete, te recomendamos ir al siguiente enlace de Youtube Aquí

UNICAMENTE EN UDEMY

Si luego de tener la base de la creación de roles y permisos, te gustaría crear un paquete personalizado que se instalará en Laravel 7 con la ejecución del siguiente comando:

Te recomendamos que adquieras el curso en udemy donde convertimos el proyecto que hicimos gratis en youtube en un paquete.

Si te gustaría aprender como hacerlo, favor acceder Aquí

Requisitos

El paquete de Laravel/ui debe estar instalado en Laravel para que funcione correctamente este paquete.

Instalación

Ejecute en el terminal el siguiente comando:

Uso del paquete

Una vez instalado el paquete en laravel 7, es recomendable utilizar el siguiente comando para exportar las migraciones, archivo seeder, vistas, políticas y mucho más:

Luego de haber ejecutado el comando anterior, vamos a revisar en la instalación de laravel el siguiente archivo config/JhonatanPermisos.php

En este, podremos cambiar las urls que vienen por defecto tanto para acceder a los roles como para los usuarios. Por otro lado, podremos también cambiar cual será el id del rol por defecto que se asignará cuando se registre un usuario.

Si luego de realizar los cambios en el archivo de configuración, no se reflejan, entonces debe ejecutar el siguiente comando en el terminal:

Antes de ejecutar el comando

recomendamos realizar la siguiente configuración en el modelo User:

Debemos revisar el archivo seed JhonatanPermissionInfoSeeder.php, exportado por el paquete en su instalación de laravel en la siguiente ruta: database/seeds/JhonatanPermissionInfoSeeder.php, ya que, en este, encontrarás lo siguiente:

Un ejemplo de lo que encontrarás en el archivo antes mencionado para la creación de permisos es la siguiente:

Recomendamos crear los permisos adicionales que necesitas al final de este archivo con la misma estructura que la anterior.

Una vez tengas todos los permisos que necesitas, debes modificar el archivo DatabaseSeeder.php para cargar el seeder.

Adjunto un ejemplo de como debe quedar este archivo:

Ahora si podremos ejecutar el siguiente comando en el terminal

Una vez cargadas todas las tablas a tu base de datos con todos los permisos de lugar, ya podrás acceder a la url /role para acceder a los roles y /user para los usuarios.

Blindar los controladores con Gates y Políticas:

Gates:

Supongamos que tenemos:

Y supongamos que quieres validar si un usuario tiene el siguiente permiso:

Para blindar (comprobar si tiene o no acceso un usuario a un método) con Gates cada método del controlador podemos hacerlo de dos formas:

  1. Primera forma usando Gates:

  2. Segunda Forma usando $this:

Para mas información observar este video

Políticas:

Supongamos que quieres realizar una comprobación para que un usuario pueda ver los registros que ha el ha creado. Te explicaremos como hacerlo con un ejemplo puntual que este paquete trae.

  1. En el archivo seed: JhonatanPermissionInfoSeeder.php debemos agregar los permisos que queramos, y deben contemplar esta misma estructura, pero realmente lo mas importante es el slug de los permisos, porque es con este campo que vamos a hacer la validación si el usuario puede o no hacer una acción en el sistema, adjunto los permisos que aplican para este escenario.

  2. Adjunto una muestra de como debe de realizarse la validación de la política en el controlador del usuario o en el que entendamos. En nuestro caso en el UserController, pondremos los métodos que aplica para los permisos puestos en la sección anterior:

    • useroun.edit = editar su propio usuario
    • useroun.show = ver su propio usuario
  3. Para que lo anterior funcione correctamente, debemos de hacer algunos ajustes en el archivo app/Providers/AuthServiceProvider.php en nuestro caso vamos a observar este archivo ubicado en src/AuthServiceProvider.php.

En el ejemplo que tiene nuestro módulo, nosotros queremos implementar una politica al modelo User, y por ende, ustedes observarán que estamos usando App\User y App\Policies\UserPolicy.

En el método boot del archivo anterior, está el corazón del paquete y por ende, es necesiario que este código esté unicamente en este archivo y no en los archivos de Laravel.

Lo que hace este paquete es recibir dos parámetros uno para el usuario que está logueado actualmente y el permiso que se necesita.

  1. Vamos a verificar el archivo UserPolicy:

En el archivo anterior, encontraremos la forma correcta de como trabajar las políticas en este paquete, y lo que hace es lo siguiente:

Observemos detenidamente lo que hace el siguiente código:

Para mas información observar este video

Blindar en archivos Blade.

Supongamos que tenemos el siguiente permiso:

En blade nosotros podemos utilizar las directivas @can y @endcan para esto. Adjunto un ejemplo de su uso:

Como podemos observar, solo tenemos que escribir dos parametros:

Contribuciones

Le doy las gracias a Dios que me ayudó a crear este paquete para la comunidad. Dios les bendiga.

Licencia

MIT


All versions of jhonatanpermisos with dependencies

PHP Build Version
Package Version
No informations.
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package jhonatanfdez/jhonatanpermisos contains the following files

Loading the files please wait ....