Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Existem configurações específicas necessárias para usar o pacote Spatie de maneira eficaz


Existem configurações específicas necessárias para usar o pacote Spatie de maneira eficaz


Para usar o pacote de permissão Spatie Laravel de forma eficaz, são necessárias várias configurações específicas e etapas de configuração:

Instalação e publicação

- Instale o pacote via compositor: `compositor requer spatie/laravel-permission`.
- Publique o arquivo de migração e configuração usando o comando artesan:
`PHP Artisan Fornecedor: Publish --Provider =" Spatie \ Permission \ PermissionserviceProvider "`.
- Execute as migrações para criar as tabelas necessárias (`pancadas`,` permissões`, `modelo_has_permissions`,` modelo_has_roles`, `role_has_permissions`) no banco de dados.

Configuração do modelo de usuário

- O modelo do usuário (ou qualquer modelo autenticável para o qual você deseja atribuir funções/permissões) deve usar o traço `hasroles` fornecido pelo pacote. Isso permite o gerenciamento de função e permissão no modelo.

Ajustes de arquivo de configuração

- O pacote publica um arquivo `config/permission.php`, onde você pode personalizar configurações como nomes de tabela, configurações de cache e classes modeladas.
- Se você estiver usando UUIDs em vez de IDs de incrementação automática, precisará ajustar as migrações e, possivelmente, o arquivo de configuração de acordo antes de executar migrações.
-Para configurações de vários inquilinos ou em equipe, você deve ativar e configurar o recurso "equipes" no arquivo de configuração.

Configuração do cache

- O pacote usa o cache para otimizar as pesquisas de permissão. Por padrão, a expiração do cache é definida como 24 horas.
- Você pode personalizar o tempo de armazenamento de cache, prefixo e expiração na `config/permissão.php` sob a matriz` cache`.
- Em cenários multi-inquilinos, é aconselhável definir um prefixo de cache exclusivo para evitar confrontos.
- Se o seu aplicativo alternar os inquilinos durante uma única solicitação, pode ser necessário reinicializar manualmente o cache de permissão.

Middleware

- Para proteger as rotas com base em funções ou permissões, registre os aliases do middleware do pacote (`função`,` permissão`, `role_or_permission`) na sua configuração de kernel HTTP ou middleware.

Personalização avançada

- Você pode estender a função e os modelos de permissão do pacote se desejar personalizar o comportamento, mas deve ter cuidado para atualizar o arquivo de configuração para apontar para seus modelos personalizados.
- Alterar os nomes de tabela de banco de dados padrão requer a atualização do arquivo de configuração e possivelmente as migrações.
- Para suporte UUID ou outros casos de uso avançado, siga as seções de documentação avançada do pacote.

Em resumo, as configurações principais envolvem publicação e personalização do arquivo de configuração, adicionando o traço `hasroles` ao seu modelo de usuário, executando migrações, configurando o cache corretamente e, opcionalmente Seguir estas etapas garante que o pacote Spatie funcione efetivamente em sua aplicação de Laravel [1] [2] [6] [8] [9].

Citações:
[1] https://spatie.be/docs/laravel-permission/v6/installation-laravel
[2] https://spatie.be/docs/laravel-permission/v6/prerequisites
[3] https://spatie.be/docs/laravel-data/v4/requirements
[4] https://packagist.org/packages/spatie/laravel-settings
[5] https://spatie.be/docs/laravel-html/v3/installation-setup
[6] https://www.honeybadger.io/blog/laravel-permissions-nsions/
[7] https://github.com/spatie/laravel-slack-alerts/discussions/22
[8] https://github.com/spatie/laravel-permission/blob/main/docs/advanced-usage/cache.md
[9] https://www.allphptricks.com/laravel-11-spatie-user-roles-and-permissions/
[10] https://stackoverflow.com/questions/58114242/exting-the-spatie--model-but-use-um-diferent-database-table