Auth con el uso de modelos

logo laravel

Manejando algo del código, podemos emplear Auth con el uso de modelos, y crear un sistema de autenticación mediante el uso de sus relaciones, lo cual reforzará la seguridad de nuestra web.

Ver Como Instalar Laravel
En el ejemplo siguiente, creamos una función managePages(), dentro de la clase AdminPolicy, que nos indica una determinada condición para el usuario que intenta acceder, en este caso limita su uso solo a aquellos con los roles Admin y Editor.
Luego declaramos su validez dentro de Providers, específicamente en el constructor del AuthServiceProvider. Para esto lo que hacemos es pasarle la ruta exacta del GateContract y una variable que nos traerá los datos del user. Con el uso de un foreach le damos un valor dinamico al acceso.

// app/Policies/AdminPolicy.php
class AdminPolicy
{
public function managePages($user)
{
return $user->hasRole(['Admin', 'Editor']);
}
}
// app/Providers/AuthServiceProvider.php
public function boot( \Illuminate\Contracts\Auth\Access\GateContract $gate)
{
foreach (get_class_methods(new \App\Policies\AdminPolicy) as $method) {
$gate->define($method, \App\Policies\AdminPolicy::class . "@{$method}");
}
$this->registerPolicies($gate);
}

Luego en cada uno de los espacios donde necesitamos acceder, colocamos una clausula de acceso, que llamara a la clase que hemos creado.

Este post puede interesarte Error al intentar acceder al login en laravel

Y listo, esto es todo.

Espero modestamente que este artículo, sirva de ayuda a alguien.

Gracias.

…………….subir montañas hermana hombres……..

Crear el recurso de autenticación del sistema Auth:

laravel

Es sabido que crear el recurso de autenticación en nuestra nueva aplicación es uno sino el primer paso después de crear el  proyecto, aquí les dejo una pequeña explicación de los pasos que sigo para hacerlo, tanto en local como en produccion si trabajamos en un plesk, y no queremos hacer deployment local, sino directamente arriba

Local:

En laravel 5 seria

php artisan make:auth

En laravel 6 seria

composer require laravel/ui

Se creara automáticamente el  comando ui/auth, dentro de artisan, lo ejecutamos:

php artisan ui vue --auth

luego ejecutamos

npm install && npm run dev

PLESK:

En laravel 5 seria

cd httpdocs/nombre_proyecto && /opt/plesk/php/7.3/bin/php artisan make:auth

En laravel 6 seria

/opt/plesk/php/7.3/bin/php /usr/lib/plesk-9.0/composer.phar require laravel/ui

luego se creara automáticamente el  comando ui/auth, dentro de artisan, lo ejecutamos

cd httpdocs/nombre_proyecto && /opt/plesk/php/7.3/bin/php artisan ui vue --auth

nos pedirá ejecutar

npm install && npm run dev

Es posible que no este instalado el node en els ervidor por tanto el npm  no se encontrara disponible. Aquí puede verse como instalar en el plesk,  el soporte  para node.js https://www.plesk.com/blog/product-technology/node-js-plesk-onyx

Una vez hecho esto accedemos al nuestro dominio en el servidor y activamos node.js e instalamos npm.

Y listo, esto es todo.

Espero modestamente que este artículo, sirva de ayuda a alguien.

Gracias.

…., si avanzo sígueme, si me detengo empújame, si retrocedo mátame…….