Alternativa ao User Role Editor: cinco perguntas antes de mudar
Quem procura uma alternativa a um plugin de permissões normalmente não se deparou com um erro, mas reparou numa falha: um cliente vê itens de menu que não lhe dizem respeito. Um artigo protegido afinal aparece algures. Ou já não é possível dizer quem recebeu que permissão e quando. Cinco perguntas põem isto em ordem.
Pergunta 1: a regra aguenta-se também sem o backend?
É a mais importante, e podes responder-lhe tu próprio num minuto. Protege um artigo de forma a que só uma determinada função o possa ver. Termina a sessão. Abre /wp-json/wp/v2/posts?search= com uma palavra desse artigo.
Se o conteúdo aparecer na resposta, a tua regra só altera a vista. A REST API do WordPress está acessível por predefinição e consulta pontos do código diferentes dos de uma lista de artigos no backend. O Kakapo Roles impõe expressamente a regra de visibilidade também aí — é precisamente por isso que este teste é a forma mais rápida de avaliar um plugin de permissões.
Faz este teste também com o plugin que estás a usar agora, antes de mudares. Por vezes, a falha está noutro sítio — por exemplo, num construtor de páginas que serve conteúdos através de um endpoint próprio.
Pergunta 2: alguém pode dar mais permissões a si próprio?
Um plugin de permissões que permite a qualquer pessoa com acesso à interface promover a sua própria função anula o seu propósito. O WordPress tem uma salvaguarda para isso — get_editable_roles() —, que determina que funções alguém pode sequer editar. Pergunta à alternativa: é respeitada em todos os pontos?
Em multisite, junta-se um segundo limite: aí, as funções estão em parte definidas ao nível da rede. Quem as sobrescreve a partir de um subsite altera-as para todos os sites da rede — incluindo os que não lhe pertencem.
Pergunta 3: é possível arrumar o backend?
As permissões dizem o que alguém PODE FAZER. Para um cliente, é igualmente importante o que ele VÊ. Um editor que tem à frente doze itens de menu, dez dos quais bloqueados, não tem um backend seguro, mas sim confuso.
Por isso, verifica se a alternativa vai além de funções e permissões: menu de administração por função, limitar a biblioteca de multimédia aos próprios ficheiros, widgets e menus de navegação, shortcodes permitidos, redirecionamento após o login. O Kakapo Roles traz isto integrado — em muitos plugins deste tipo, são extensões avulsas ou excertos de código.
Pergunta 4: é possível consultar o que foi alterado?
As permissões alteram-se raramente e, quase sempre, sob pressão de tempo. Meio ano depois, surge a pergunta de porque é que uma função pode fazer algo. Sem registo, a resposta é uma suposição.
Pergunta à alternativa: há um registo de alterações, e consta dele QUEM recebeu ou perdeu QUE permissão e QUANDO? O Kakapo Roles mantém um e regista também as alterações feitas através de atribuição e migração.
Pergunta 5: tenho de reconstruir isto em cada site?
Quem gere várias instalações constrói a mesma estrutura de permissões várias vezes — e desvia-se um pouco de cada vez. Ao fim de um ano, cinco sites são cinco casos especiais. Por isso, verifica se a estrutura pode ser exportada e importada, e o que acontece às funções existentes na importação: acrescentar ou substituir?
O Kakapo Roles consegue fazer ambos e diz, antes da importação, qual dos dois caminhos está escolhido. «Substituir» (em alemão: „Ersetzen“) é o mais perigoso — por isso, tem de ser confirmado expressamente.
A lista de verificação em resumo
| Critério | Porque importa | No Kakapo Roles |
|---|---|---|
| Efeito na REST API | Caso contrário, a regra só protege a vista | imposto expressamente |
| Proteção contra escalada de permissões | Caso contrário, o plugin anula-se a si próprio | get_editable_roles respeitado, também em rede |
| Arrumar o backend | Um cliente deve ver o que lhe diz respeito | Menu de administração, biblioteca de multimédia, widgets, menus de navegação, shortcodes |
| Redirecionamento após o login por função | O cliente vai parar onde trabalha | integrado |
| Reciclagem para funções | Raramente se apagam funções com toda a tranquilidade | com restauro |
| Registo de alterações | Meio ano depois, o que conta é o comprovativo | quem, quando, que permissão |
| Transferível para outros sites | Caso contrário, cada site torna-se um caso especial | Exportação e importação, acrescentar ou substituir |
| Vários sites com uma só licença | Uma fatura em vez de cinco | nove plugins, uma conta |
O que deves fazer antes de mudar
- Regista o estado atual — que funções próprias existem e que permissões lhes estão associadas.
- Faz um backup. As permissões estão na base de dados, e um erro afeta todos os utilizadores ao mesmo tempo.
- Recria a estrutura no novo plugin e compara-a linha a linha.
- Inicia sessão com um utilizador de teste por função e vê o que ele realmente vê.
- Faz o teste REST da pergunta 1.
- Desativa o plugin antigo em vez de o apagar — durante duas semanas.
Dois plugins de permissões ao mesmo tempo escrevem nas mesmas funções, e ganha quem guardar por último. Durante o período de transição, só altera coisas num dos dois.
Perguntas frequentes
Perco as minhas funções ao mudar?
Posso manter os dois a funcionar em paralelo?
Preciso mesmo disto se só tiver dois editores?
Isto afeta o tempo de carregamento?
O que acontece sem uma licença válida?
Kakapo Roles — pague uma vez, use para sempre.
Os nove plugins por 149 € uma vez em vez de 13 € por mês. Pagamento seguro via Stripe. Nos primeiros 14 dias: problema resolvido ou dinheiro de volta.
Garantir o Lifetime Todas as funcionalidades