# Permissões de categoria e os novos grupos de permissão

**URL:** https://meta.discourse.org/t/category-permissions-and-the-new-permission-groups/409511
**Category:** Bug
**Created:** [7 Agosto , 2026 09:32 UTC](https://meta.discourse.org/t/category-permissions-and-the-new-permission-groups/409511 "2026-08-07T09:32:04Z")
**Posts on this page:** 13
**Page:** 1

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [7 Agosto , 2026 09:32 UTC](https://meta.discourse.org/t/category-permissions-and-the-new-permission-groups/409511/1 "2026-08-07T09:32:04Z")

</div>

Ao adicionar grupos a uma categoria, as opções `anonymous_users` e `logged_in_users` podem ser selecionadas, mas não funcionam.

---

<div class="post-metadata">

### Author: ![nickdb](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nickdb/32/444510_2.png) [@nickdb](https://meta.discourse.org/u/nickdb)
#### Post date: [7 Agosto , 2026 12:14 UTC](https://meta.discourse.org/t/category-permissions-and-the-new-permission-groups/409511/2 "2026-08-07T12:14:17Z")

</div>

Isso não requer que o recurso beta “Permissões granulares para grupos anônimos e conectados” esteja ativado?

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [7 Agosto , 2026 12:15 UTC](https://meta.discourse.org/t/category-permissions-and-the-new-permission-groups/409511/3 "2026-08-07T12:15:44Z")

</div>

Sim, isso está acontecendo com esse recurso ativado, que agora é o padrão.

 ![image](https://global.discourse-cdn.com/meta/original/4X/4/0/7/407d8d61a3aade4d0d4eedddfd8e1417ff6f4661.png)

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [10 Agosto , 2026 01:55 UTC](https://meta.discourse.org/t/category-permissions-and-the-new-permission-groups/409511/4 "2026-08-10T01:55:04Z")

</div>

@martin alguma ideia sobre isso?

---

<div class="post-metadata">

### Author: ![martin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/martin/32/491371_2.png) [@martin](https://meta.discourse.org/u/martin)
#### Post date: [10 Agosto , 2026 03:09 UTC](https://meta.discourse.org/t/category-permissions-and-the-new-permission-groups/409511/5 "2026-08-10T03:09:05Z")

</div>

Obrigado pelo relatório, vou dar uma olhada 👀

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [10 Agosto , 2026 08:41 UTC](https://meta.discourse.org/t/category-permissions-and-the-new-permission-groups/409511/7 "2026-08-10T08:41:46Z")

</div>

Com base na sua resposta no outro tópico

> [@martin](#):
>
> então estes (este e [Category permissions and the new permission groups - #6](https://meta.discourse.org/t/category-permissions-and-the-new-permission-groups/409511/6) ) são mais efeitos colaterais não intencionais. Não pretendo remover `everyone` (todos) como opção das permissões de categoria ainda… mas com o tempo acho que é uma boa ideia fazer um acompanhamento rápido sobre isso.
> 
> O problema é que eu estava pensando que seria ainda menos claro para o que eu deveria migrar as permissões de categoria `everyone`, mas talvez possa seguir uma lógica como a que você está sugerindo? Por exemplo, se eu remover `everyone`, uma migração adicionaria essas permissões de categoria para um site:
> 
> 1. Site exige login → `everyone` se torna `logged_in_users` (usuários conectados)
> 2. Site é público/não exige login → `everyone` se torna `logged_in_users` E `anonymous_users` (usuários anônimos), duas permissões de categoria separadas

Quanto mais penso nisso, mais me preocupo com isso.

O que acontece se eu adicionar apenas `anonymous_users` a uma categoria e não adicionar `logged_in_users`?  
O que acontece se eu adicionar `anonymous_users` enquanto meu fórum estiver com `login_required` (login obrigatório)?

Além disso, a implementação técnica atual é que, quando as permissões de categoria estão definidas como `everyone`, simplesmente não há entrada em `category_groups` e `read_restricted` está definido como `false`.

Isso é muito simples e direto: se não houver permissões definidas, as permissões são determinadas pelas permissões globais do fórum (a configuração `login_required`) e nenhuma restrição adicional se aplica.

Então, fazer essa mudança adicionaria uma enorme quantidade de complexidade e combinações estranhas seriam possíveis (você poderia fazer `usuários anônimos` e `staff` 😬 )

Minha sugestão seria:

- remover `anonymous_users` como opção para permissões de categoria completamente
- manter `everyone` e `logged_in_users`
- remover `trust_level_0` como opção, já que equivale a `logged_in_users`

ou alternativamente, mas talvez menos claro para administradores menos experientes

- remover `anonymous_users` e `logged_in_users` como opção para permissões de categoria
- manter `everyone` (e TL0)

Em todos os casos, mantenha `everyone`. E você também não precisará de uma migração 😉

---

<div class="post-metadata">

### Author: ![martin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/martin/32/491371_2.png) [@martin](https://meta.discourse.org/u/martin)
#### Post date: [11 Agosto , 2026 05:28 UTC](https://meta.discourse.org/t/category-permissions-and-the-new-permission-groups/409511/8 "2026-08-11T05:28:04Z")

</div>

Obrigado pelas suas observações, é por isso que eu não queria entrar muito em detalhes sobre permissões de categoria no início com aquela alteração de “todos” 😃

Acho que muita coisa do que você diz aqui poderia simplesmente ser tornada impossível. Já tenho trabalhado em alguns sistemas preliminares aqui com ACLs e uma interface de permissões mais amigável no nosso plugin kanban que estamos desenvolvendo. Aqui está um exemplo. Pretendemos mudar as permissões de categoria para usar isso eventualmente:

 ![image](https://global.discourse-cdn.com/meta/original/4X/a/3/e/a3eddab673bae29a4f1a68bbe533f70caad7cd56.png)

Há várias regras envolvidas aqui, como é impossível dar permissões de Gerente para usuários anônimos em um quadro kanban, e assim por diante, e até mesmo suporta permissões obrigatórias, como Administradores podem sempre gerenciar um quadro.

> [@RGJ](#):
>
> O que acontece se eu adicionar `anonymous_users` enquanto meu fórum está `login_required`?

Nós faríamos com que você não pudesse adicionar usuários anônimos quando o fórum exigir login.

> [@RGJ](#):
>
> O que acontece se eu adicionar apenas `anonymous_users` a uma categoria e não adicionar `logged_in_users`?

Novamente, outra validação/restrição que podemos adicionar.

> [@RGJ](#):
>
> Então, fazer essa mudança seria adicionar uma enorme quantidade de complexidade e combinações estranhas seriam possíveis (você poderia fazer `usuários anônimos` e `equipe` 😬)

Nós poderíamos adicionar validações/avisos para esse tipo de coisa também.

> [@RGJ](#):
>
> Além disso, a implementação técnica atual é que quando as permissões de categoria estão definidas como `everyone`, simplesmente não há entrada em `category_groups` e `read_restricted` está definido como `false`.

É isso que quero evitar, esse tipo de permissões implícitas que estão em todo o Discourse, em vez de ter usuários logados + usuários anônimos explicitamente configurados sempre para uma categoria se ela for pública/não restrita à leitura.

* * *

De qualquer forma, por enquanto, não quero entrar muito fundo nisso, ainda há um caminho a percorrer antes de eu lidar com categorias. Mas concordo que o OP é um bug que precisa ser corrigido no meio tempo, então ainda farei isso.

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [11 Agosto , 2026 06:03 UTC](https://meta.discourse.org/t/category-permissions-and-the-new-permission-groups/409511/9 "2026-08-11T06:03:43Z")

</div>

> [@martin](#):
>
> Nós faríamos com que você não pudesse adicionar usuários anônimos quando o fórum exigir login.

Com [aquela outra questão](https://meta.discourse.org/t/all-members-when-creating-a-category-assigns-everyone/409508) em mente, eu pessoalmente recomendaria contra esse tipo de lógica. O que acontece quando eu mudo um fórum para exigir login quando já existem usuários anônimos na lista de permissões? E o contrário disso? Isso vai ser um pesadelo, e será opaco para os administradores.

> [@martin](#):
>
> Novamente, outra validação/restrição que podemos adicionar.

Eu estou muito cauteloso com essa complexidade.

---

<div class="post-metadata">

### Author: ![martin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/martin/32/491371_2.png) [@martin](https://meta.discourse.org/u/martin)
#### Post date: [11 Agosto , 2026 06:06 UTC](https://meta.discourse.org/t/category-permissions-and-the-new-permission-groups/409511/10 "2026-08-11T06:06:49Z")

</div>

Novamente, mais pontos positivos. Há muito o que pensar, e esse assunto é complicado. Com certeza, terei em mente a experiência do administrador ao fazer alterações nas categorias, pois há muita história por trás disso e não quero que ninguém fique surpreso. Nada disso será feito rapidamente; levará muito tempo para analisar cuidadosamente os diferentes cenários quando eu chegar a esse projeto.

---

<div class="post-metadata">

### Author: ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)
#### Post date: [11 Agosto , 2026 10:06 UTC](https://meta.discourse.org/t/category-permissions-and-the-new-permission-groups/409511/11 "2026-08-11T10:06:59Z")

</div>

Me pergunto por que o fato de poder configurar coisas para anônimos, mas não para usuários logados, ser um problema no contexto de permissões de categoria, mas não no contexto de permissões configuradas via configurações de site/plugin/tema. Um exemplo simples: agora é possível tornar o styleguide disponível para anonymous\_users sem adicionar logged\_in\_users. Isso faz mais sentido do que mostrar uma categoria para anônimos, mas não para usuários logados?

---

<div class="post-metadata">

### Author: ![martin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/martin/32/491371_2.png) [@martin](https://meta.discourse.org/u/martin)
#### Post date: [13 Agosto , 2026 04:37 UTC](https://meta.discourse.org/t/category-permissions-and-the-new-permission-groups/409511/12 "2026-08-13T04:37:28Z")

</div>

Não faz sentido, é apenas mais um caso extremo para cobrir… vou adicionar `anonymous_users` aos `disallowed_groups` para esse plugin. Além disso, duvido muito que haja muitos sites por aí com esse plugin ativado, então não estou muito preocupado com essa configuração incorreta no momento.

Acho que é assim que eu geralmente lidaria com esse tipo de configuração. Também podemos usar `mandatory_values` para garantir que certos grupos estejam sempre selecionados, para que você não acabe com apenas `anonymous_users` em alguns lugares. Ou usar validações de configuração para dizer “você não pode escolher `anonymous_users` sem pelo menos um grupo de usuários autenticados”, e assim por diante.

---

<div class="post-metadata">

### Author: ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)
#### Post date: [13 Agosto , 2026 07:29 UTC](https://meta.discourse.org/t/category-permissions-and-the-new-permission-groups/409511/13 "2026-08-13T07:29:58Z")

</div>

> [@martin](#):
>
> Não faz sentido, é apenas mais um caso extremo para cobrir… vou adicionar `anonymous_users` a `disallowed_groups` para aquele plugin.

Não entendo por que isso é necessário. Qual é o problema em ser uma opção?

> [@martin](#):
>
> Também podemos usar `mandatory_values` para garantir que certos grupos estejam sempre selecionados, assim você não acaba com apenas `anonymous_users` em alguns lugares. Ou usar validações de configuração para dizer “você não pode escolher `anonymous_users` sem pelo menos um grupo de usuário autenticado”, e assim por diante.

Isso funciona apenas para configurações do site, ou também para componentes de tema?

---

<div class="post-metadata">

### Author: ![martin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/martin/32/491371_2.png) [@martin](https://meta.discourse.org/u/martin)
#### Post date: [16 Agosto , 2026 23:28 UTC](https://meta.discourse.org/t/category-permissions-and-the-new-permission-groups/409511/14 "2026-08-16T23:28:02Z")

</div>

> [@Moin](#):
>
> > [@martin](#):
> >
> > Também podemos usar os `mandatory_values` para garantir que certos grupos estejam sempre selecionados, assim você não acaba com apenas `anonymous_users` em alguns lugares. Ou usar validações de configuração para dizer “você não pode escolher `anonymous_users` sem pelo menos um grupo de usuários autenticados”, e assim por diante.
> 
> Isso funciona apenas para configurações do site, ou também para componentes de tema?

Ainda não funciona _para_ componentes de tema, mas poderia. De novo, estamos realmente adiantando demais a conversa aqui.
