Menu

Tree [b2388f] master v1.40 /
 History

HTTPS access


File Date Author Commit
 config 2020-10-01 Ribamar FS Ribamar FS [525b8b] First
 docs 2020-10-17 Ribamar FS Ribamar FS [b2388f] Update docs
 src 2020-10-11 Ribamar FS Ribamar FS [b68afd] Ainda ajustes no copy files
 up 2020-10-13 Ribamar FS Ribamar FS [19bf2a] Ajustes no copyfiles
 README.md 2020-10-07 Ribamar FS Ribamar FS [7abc97] Update README.md
 changelog.md 2020-10-01 Ribamar FS Ribamar FS [525b8b] First
 composer.json 2020-10-01 Ribamar FS Ribamar FS [559bbd] Update composer.json
 contributing.md 2020-10-01 Ribamar FS Ribamar FS [525b8b] First
 license.md 2020-10-01 Ribamar FS Ribamar FS [525b8b] First
 remover 2020-10-11 Ribamar FS Ribamar FS [262293] Ajustes na estrutura de arquivos.

Read Me

Implementação de ACL no Laravel 8

Usando users, roles, permissions, trait, middleware, provider, etc

Testado em

  • Windows 7
  • Linux Mint 20

Criar um novo aplicativo com laravel 8

laravel new acl --jet --stack=livewire

Tecle enter quando aparecer [no]

cd acl

Criar e configurar o banco

.env

Instalar o laravel-acl

composer require ribafs/laravel-acl

Publicar

php artisan vendor:publish --provider="Ribafs\LaravelAcl\LaravelAclServiceProvider"

Agora todos os arquivos do pacote já estão em seu aplicativo: migrations, seeders, Models, middleware, provider, etc

Copiar alguns arquivos existentes

  • DatabaseSeeder.php
  • routes/web.php
  • views/welcome.blade.php
  • views/layouts/app.blade.php

O comando fará uma cópia de cada arquivo sobrescrito, adicionando BAK ao seu nome. Exemplo: routes/webBAK.php

Executar

php artisan copy:files

Configurar

Registrar o middleware

Editar o app/Http/Kernel.php e adicionar ao array $routeMiddleware

        'role' => \Illuminate\Auth\Middleware\RoleMiddleware::class,

Registrar o provider

Editar o config\app.php e adicione ao array 'providers'

        App\Providers\PermissionsServiceProvider::class,

Editar o model app/Models/User.php e atualizar

use App\Traits\HasPermissionsTrait;

class User extends Authenticatable
{
    use HasPermissionsTrait;

Configurar o uso do bootstrap no laravel 8

Adicionar ao app/Providers/AppServiceProvider.php

use Illuminate\Pagination\Paginator;

    public function boot()
    {
        Paginator::useBootstrap();
    }

Alterar o campo id da migration users

Mudar para

            $table->increments('id');

Ajustar o título do aplicativo (opcional)

Editar o .env e mudar a linha com APP_NAME, para algo como: APP_NAME='ACL to Laravel 8'

Executar

Após adicionar seu CRUD, execute e teste o ACL no controle do acesso do seu aplicativo.

php artisan migrate --seed
php artisan serve
localhost:8000/login

Use como exemplo:

  • super@gmail.com
  • 123456

Depois teste com os demais: admin, manager e user

Documentação completa

As informações acima e muito mais informações de como tirar o máximo proveito deste pacote no site abaixo:

https://ribafs.github.io/laravel-acl

Pacote exclusivo para a versão 7 do laravel

Se deseja um pacote para usar com a versão 7 do laravel, clique abaixo:

https://github.com/ribafs/laravel7-acl

Demo online

Caso queira ver um demom de aplicativo usando o pacote ribafs/laravel-acl, acesse:

http://159.89.22.33/laravel/public/