Ban members from certain categories?

Eu também adoraria ver isso. Nós também temos uma situação semelhante.

  1. Temos algumas categorias restritas a certos grupos.
  2. Mas também precisamos ser capazes de excluir certas pessoas delas.

Ter associação negativa de categoria funcionaria. Mas eu acho que uma solução mais poderosa e flexível seria ter grupos automáticos definidos pelo usuário (como staff é hoje). Esses grupos poderiam suportar operações de conjunto básicas para determinar a associação.

Por exemplo, com este recurso, staff não precisaria ser um caso especial, mas poderia ser apenas admin + moderators. O fato de este grupo automático ter sido criado é realmente uma forte indicação de que este recurso é útil e deve ser estendido para um recurso geral, em vez de ser embutido.

Com isso, você poderia implementar a exclusão negativa tendo um grupo HasAccess = AccessGroup - BannedGroup.

Esses grupos automáticos também seriam muito úteis para outros casos de uso. Por exemplo:

Incrementando Patentes

Atualmente, temos alguns fóruns bloqueados que basicamente abrangem círculos menores de pessoas. Algo como:

  • Admin = Admin
  • Moderators = Admin + Moderators
  • BetaTeam = Admin + Moderators + Beta
  • Trusted = Admin + Moderators + Beta + Trusted

Precisar aplicar a lista correta de grupos a cada categoria é tedioso e propenso a erros. Tivemos muitos casos em que um grupo estava faltando em uma categoria à qual deveria ter tido acesso. Poder definir grupos como este tornaria isso muito mais fácil de gerenciar:

  • ModeratorsOrHigher = Admin + Moderators (isso é embutido como o grupo automático staff)
  • BetaOrHigher = ModeratorsOrHigher + Beta
  • TrustedOrHigher = BetaOrHigher + Trusted

Grupos Comuns

Também é comum termos várias categorias que têm exatamente o mesmo conjunto de regras de acesso. Este é basicamente um caso mais simples do que o acima, mas seria bom poder criar apenas um grupo automático e usá-lo várias vezes, em vez de precisar repetir toda a lista de grupos e mantê-la sincronizada em várias categorias.