Skip to content

malobr/Permission-Laravel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Implementando Permissões no Laravel 11

Requisitos

Para um entendimento melhor, aqui está o link da playlist em que o projeto foi baseado... Link da playlist

  • PHP 8+
  • Composer
  • MySQL ou SQLite
  • Node.js e NPM (para o frontend, caso aplicável)

Passo a Passo

1. Clonar o Projeto

git clone https://github.com/malobr/Permission-Laravel.git
cd backend

2. Instalar Dependências

composer install
npm install && npm run dev

3. Configurar o Ambiente

Copie o arquivo de exemplo .env e configure suas credenciais de banco de dados:

cp .env.example .env

Gere a chave da aplicação:

php artisan key:generate

Configure suas credenciais no .env:

DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=testapieye
DB_USERNAME=root
DB_PASSWORD=root

4. Instalar e Configurar o Spatie Permissions

composer require spatie/laravel-permission

Publique a configuração:

php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider"

Ou, caso prefira...

php artisan vendor:publish --tag="permission-migrations"

5. Criar o Banco de Dados e Rodar as Migrations

php artisan migrate 

6. Rodar a Seed

php artisan db:seed --class=SuperAdminSeeder

Isso criará:

  • Todas as permissões de todos os CRUDs.
  • Uma role superadmin com todas as permissões.
  • Um usuário com e-mail superadmin@teste.com e senha 12345678.
  • Esse usuário terá a role de superadmin.

7. Limpar o Cache e Inicializar o Servidor

php artisan config:clear
php artisan cache:clear
php artisan optimize:clear
php artisan serve

Uso do Docker com o projeto

Caso esteja utilizando Docker, todos os comandos Artisan e npm devem ser executados dentro do container para que funcionem corretamente.

Aqui estão os comandos Docker mais usados para controle dos containers e execução dentro do container Laravel:

docker-compose down -v              # Para e remove os containers e volumes associados.
docker-compose up -d --build        # Cria e inicia os containers, reconstruindo as imagens.
docker-compose down                 # Apenas para os containers (sem remover volumes).
docker-compose up -d                # Apenas inicia os containers parados.
docker exec -it laravel-app php artisan migrate   # Executa as migrations dentro do container laravel-app.
docker exec -it laravel-app npm install           # Instala as dependências Node.js dentro do container.
docker exec -it laravel-app npm run build         # Gera o build dos assets do frontend dentro do container.

Lembre-se: Sempre que precisar executar um comando artisan ou npm, faça via docker exec dentro do container para garantir que os ambientes PHP e Node.js estejam corretos.


Fluxo do Sistema

Agora que você configurou o projeto e as permissões, vamos visualizar o fluxo do sistema, com as etapas representadas por imagens.

  1. Dashboard inicial

    • Imagem 1: Contém as informações de quem está logado. Imagem 1
  2. Listagem das Permissões

    • Imagem 2: Contém a listagem das permissões já geradas pela seed. Imagem 2
  3. Criação das Permissões

    • Imagem 3: Criação das permissões. As permissões já estão predefinidas para o sistema. Para algo específico, crie-as no código. Imagem 3
  4. Edição das Permissões

    • Imagem 4: Edição das permissões. Imagem 4
  5. Listagem das Roles

    • Imagem 5: Listagem das roles existentes. Imagem 5
  6. Criação das Roles

    • Imagem 6: Criação das roles atribuindo as permissões desejadas. Imagem 6
  7. Edição das Roles

    • Imagem 7: Edição das roles, alterando suas permissões e seu nome. Imagem 7
  8. Listagem de Artigos

    • Imagem 8: Lista dos artigos. Imagem 8
  9. Criação dos Artigos

    • Imagem 9: Criação dos artigos, com título, texto e autor. Imagem 9
  10. Edição dos Artigos

    • Imagem 10: Edição dos artigos, alterando seu título, conteúdo e autor. Imagem 10
  11. Listagem de Usuários

    • Imagem 11: Listagem dos usuários cadastrados. Imagem 11
  12. Criação dos Usuários

    • Imagem 12: Criação dos usuários com nome, e-mail e senha. Imagem 12
  13. Edição dos Usuários

    • Imagem 14: Edição dos usuários, alterando seu nome, e-mail e role. Imagem 14

Voltar ao início

About

FullStack | BackEnd e FrontEnd feitos no Laravel 11.. O projeto esta Dockerizado

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages