Permitir que usuários anônimos herdem seus grupos de usuários pai

Olá!

Poderia, por favor, revisar este PR?

Estamos tentando criar um discurso específico da região, onde a associação de um usuário o limitará a certos grupos, mas atualmente isso entra em conflito com o suporte a usuários anônimos porque usuários anônimos não têm associações de grupo.

Este PR adiciona associações de grupo a usuários anônimos.

1 curtida

Você considerou o aumento do risco de ataques de desanonimização que isso permitiria?

2 curtidas

Obrigado por levantar este tópico!

Considerei ataques de desanonimização e você está certo - a herança de grupos de usuários não é uma ferramenta para todos e é especialmente vulnerável para instâncias com afiliações de grupo de alta cardinalidade. Conforme detalhado no PR, o conceito original para suportar postagens anônimas em grupos regionais, que será implicitamente de baixa cardinalidade em nossa instância.

editar: Adicionei um atributo de grupo chamado anonymous_user_inheritance, que permite aos administradores escolher se o grupo será herdado por usuários anônimos. Também adicionei um aviso ao lado da configuração do administrador para habilitar o recurso, e estou aberto a quaisquer outras sugestões.

1 curtida

Esta é a categoria certa para solicitar revisões de PR ou devo postar em uma categoria diferente?

Obrigado!

1 curtida

Não há realmente uma categoria para solicitar revisões de código, como tal, então esta é provavelmente a melhor para isso.

PRs são frequentemente bem-vindos, embora seja bom confirmar que é uma direção/recurso que o Discourse quer seguir antes de mergulhar muito fundo.

Alternativamente, você poderia considerar a introdução deste recurso em um plugin para que ele esteja disponível para uso sem ser incorporado ao código principal.

2 curtidas

Obrigado pela dica! Um plugin na verdade atenderia bem às nossas necessidades, exceto que essa alteração requer uma migração de banco de dados. Seria viável uma migração em um plugin?

1 curtida

Sim, você pode executar migrações de banco de dados em um plugin.

1 curtida

Sim, mas na minha opinião é uma má prática modificar tabelas principais em um plugin.

Se você mover isso para um plugin, é melhor usar group_custom_fields ou sua própria tabela designada.

Neste caso específico, você também poderia (em vez disso) adicionar uma configuração de site como “grupos herdados permitidos” e fazer com que o administrador selecione todos os grupos que podem ser herdados nesta configuração única. Isso manteria as coisas muito mais simples e agruparia toda a funcionalidade fornecida pelo plugin em um único lugar.

5 curtidas

Obrigado pelo feedback, Richard! Você poderia me ajudar a entender sua segunda proposta?

fazer o administrador selecionar todos os grupos que podem ser herdados nesta única configuração
Para verificar meu entendimento, sua sugestão é ter a configuração geral do site para permitir a herança de grupos e, em seguida, na página de configurações de cada grupo individual, haveria uma caixa de seleção indicando se este grupo é herdável ou não, de modo que seja semelhante ao que tenho agora, exceto que a configuração redundante é removida.

fazer o administrador selecionar todos os grupos que podem ser herdados nesta única configuração
Você estava sugerindo o acima, ou tinha algo mais em mente? Minha ideia original era construir uma espécie de ferramenta de seleção onde houvesse um menu de caixa de seleção ou algo assim, mas isso se tornou complexo de implementar muito rapidamente.

Obrigado pela dica sobre plugins também! Considerarei a opção de plugin em futuras contribuições. :grinning_face:

1 curtida

Não, estou sugerindo que você não faça disso uma configuração na página do grupo, mas sim uma configuração em todo o site que contenha todos os grupos que são herdáveis.

Uma configuração semelhante é Admin - Configurações - Usuários - grupos permitidos para postagem anônima. Não é uma caixa de seleção em cada página de configurações de grupo “permitir postagem anônima para este grupo”, é uma configuração com todos os grupos que permitem postagem anônima,

ou Admin - Configurações - Postagem - grupos permitidos para menção aqui em vez de uma caixa de seleção em cada página de configurações de grupo “permitir menções aqui para este grupo”.

É mais fácil de implementar, causa menos desordem no banco de dados e oferece uma melhor supervisão ao administrador do fórum.

2 curtidas