Renqo Client ACL
Renqo Client ACL Es una herramienta para conectarse a un servidor RENQO ACL el cual le permitirá fácilmente el manejo
de privilegios y roles en el sistema., (*1)
PASOS PARA LA INSTALACIÓN
Instalar mediante Composer:, (*2)
composer require adolfocuadros/renqo-client-acl
Laravel config/app.php
Agregar Como proveedor de Servicio:, (*3)
'providers' = [
//Otros Proveedores de servicio
//
Adolfocuadros\RenqoClientACL\AclServiceProvider::class,
],
Publicar Configuración
Laravel artisan:, (*4)
php artisan vendor:publish --tag=config
Lumen: En caso de no existir carpeta de configuración, crearla:, (*5)
vendor/adolfocuadros/client-auth/config/renqo_client_acl.php -> config/renqo_client_acl.php
Archivos a modificar
config/renqo_client_acl.php
Modificar:, (*6)
//Server of Renqo ACL server
'renqo_acl' => 'http://url-to-renqo.com',
'server_token' => ''
Registrar Middleware
Lumen: dentro de bootstrap/app.php, (*7)
...
$app->routeMiddleware([
//Otros Middleware
'acl' => Adolfocuadros\RenqoClientACL\Middleware\CheckAclMiddleware::class,
]);
//Antes de cargar las rutas
$app->configure('renqo_client_acl');
...
Configuración de Autenticación (Sólo Laravel)
En caso de que desee usar el servidor de autenticación y ACL RENQO ACL, (*8)
Abrir el archivo config/auth.php y modificar las siguientes lineas, (*9)
'guards' => [
'web' => [
'driver' => 'session',
//'provider' => 'users',
'provider' => 'renqo-acl'
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
],
//
// Otras Configuraciones
//
//Agregar un nuevo proveedor
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
//RENQOACL
'renqo-acl' => [
'driver' => 'renqo',
],
// 'users' => [
// 'driver' => 'database',
// 'table' => 'users',
// ],
],
Posteriormente Registrar el Proveedor de Servicio renqo-acl, abrir
el archivo app/Providers/AuthServiceProvider., (*10)
public function boot()
{
$this->registerPolicies();
\Auth::provider('renqo', function ($app, array $config) {
return new \Adolfocuadros\RenqoClientACL\AuthUserProvider($config);
});
}
¿Cómo Usarlo?
app/Http/routes.php
$app->post('usuarios', [
'middleware' => 'acl:usuarios.store',
'uses' => 'UsuarioController@store'
]);
Notar que acl:usuarios.store validará los permisos
"usuarios.store" conjuntamente con la session, la respuesta será HTTP 200
si todo es correcto o 40x en caso haya problemas., (*11)
Respuestas
En caso de Error HTTP 401, (*12)
{"error":"No tiene los permisos suficientes."}
En caso de Éxito HTTP 200, (*13)
{"status":true}