Mesmo se eu atribuir uma única função a um usuário, que só permite que ele visualize um recurso, por que ele tem as mesmas permissões de um superadministrador? (Exceto para gerenciar funções) É como se cada usuário que eu criar herdasse as funções. Eu as verifiquei no Tinker e ele indica corretamente sua função e permissões. No entanto, eles ainda têm muito mais permissões do que as atribuídas.
relate perguntas
-
a solicitação POST com restauração de exclusão reversível é considerada uma solicitação PUT (atualização) ou POST (armazenamento)?
-
Como consultar uma relação um-para-muitos com condição no modelo principal
-
Laravel, o segundo parâmetro da URL passada não é mostrado durante o compartilhamento com a mídia social
-
erro de sintaxe, token inesperado ";", esperando ")" [fechado]
-
Larave 10 - Eloquent Eager Loading sem atributos $append
Certifique-se de ter executado o comando de geração de política do Shield principal:
Este comando cria as políticas necessárias para seus recursos e os registra apropriadamente. É uma etapa essencial após instalar o Shield ou adicionar novos recursos.
Além disso, se você precisar definir permissões personalizadas (por exemplo,
publish
,archive
, etc.), você pode especificá-las diretamente na sua classe de recurso implementando aHasShieldPermissions
interface.Aqui está um exemplo:
Isso permite que o Shield reconheça e gerencie essas permissões por meio de funções e políticas.
Documentos oficiais:
Gerar comandos: https://filamentphp.com/plugins/bezhansalleh-shield#generate-command-options
Comandos principais: https://filamentphp.com/plugins/bezhansalleh-shield#core-commands
Permissões personalizadas: https://filamentphp.com/plugins/bezhansalleh-shield#custom-permissions
Digitei o comando que você me disse porque não quero adicionar permissões personalizadas, só quero criar uma função cuja única permissão é visualizar um recurso.
No entanto, o usuário com essa função não responde às permissões concedidas a ele; ele só faz isso quando sua função é super_usuário.