Você é desenvolvedor e gostaria de uma forma de proteger seu pacote para que outras pessoas somente configure as permissões e o nome das middleware?
Este pacote foi feito para você, assista ao vídeo ou leia leia o texto abaixo, o vídeo tem mais detalhes, vale a pena conferir.
https://github.com/resultsystems/laravel-security-router
Recomendável utilizar o artesaos/defender para que todas as funcionalidades possam serem aproveitadas.
Security Router – Service
Installation
1. Dependency
Using composer, execute the following command to automatically update your composer.json
:
composer require resultsystems/laravel-security-router
or manually update your composer.json
file
{ "require": { "resultsystems/laravel-security-router": "1.*" } }
2. Provider
You need to update your application configuration in order to register the package, so it can be loaded by Laravel. Just update your config/app.php
file adding the following code at the end of your'providers'
section:
// file START ommited 'providers' => [ // other providers ommited 'ResultSystems\SecurityRouter\Providers\SecurityRouterServiceProvider', ], // file END ommited
Made use:
Create your config file config/PACOTE.php
Exemple:
'security' => [ 'create' => [ 'protected' => false, 'middleware' => [], 'defender' => [ 'load' => true, 'middleware' => ['sua-middware'], 'can' => ['product.create','product.store'], 'any' => true, 'is' => null, ], ], 'store' => [ 'protected' => false, 'middleware' => [], 'defender' => [ 'load' => true, 'middleware' => ['sua-middware'], 'can' => ['product.store'], 'any' => false, 'is' => null, ], ], ],
Use:
$security=$this->app['security.router']; $security=$security ->setFixedSecurity(['as'=>'index']) ->getConfig('storehouse-product', 'create'); Router::get('/product/create', $security,function (){ retunr 'Eu estou protegido'; });
$security=$this->app['security.router']; $security=$security ->setFixedSecurity(['as'=>'index']) ->getConfig('storehouse-product', 'create'); Router::get('/product/create', $security,function (){ return 'Eu estou protegido'; }); $security=$security ->setFixedSecurity(['as'=>'store']) ->getConfig('storehouse-product', 'store'); Router::post('product', $security,function (){ return 'Eu estou protegido'; }); $security=$security ->setFixedSecurity(['as'=>'store','Uses'=>'Controller@update']) ->getConfig('storehouse-product', 'update'); Router::put('product/{id}', $security)->where('id', '[0-9]+');