Acho que isso pode acontecer porque os membros dos grupos de administrador não estão disponíveis para usuários que não estão logados, por padrão. Você pode testar isso, por exemplo, com o grupo de administrador do Meta: https://meta.discourse.org/g/admins.
Você pode configurar isso nas configurações do grupo, o que deve resolver seu problema (ainda não testei).
Se fosse possível filtrar o diretório de usuários por um grupo do qual você não tem conhecimento ou no qual não tem permissão para ver os membros, isso vazaria informações. Isso pode não ser tão relevante para o grupo de administrador, mas imagine se você pudesse filtrar o diretório de usuários pelos grupos ocultos de clientes corporativos no Meta.
Antes de postar, visitei https://meta.discourse.org/g/admins, que está oculto para usuários não logados. É por isso que criei o tópico. /g/admins fica oculto para usuários não registrados, mas eles ainda podem ver os membros do grupo de administradores ao acessar /u?exclude_groups=admins, o que parece, pelo menos, estranho.
Agora estou confuso. Com base no título, esperava que tanto /g/admins quanto /u?exclude_groups=admins funcionassem para usuários logados, mas não funcionam para usuários desconectados.
Talvez estejamos falando de estados diferentes de “oculto” na página de grupos:
Com “oculto”, quis dizer algo como privado — acessar /g/admins leva usuários desconectados à página de erro. Acho que você pode estar pensando no fato de que a maioria dos usuários não vê os grupos padrão na página de grupos (exceto moderadores), pois algum código adicional os oculta. Mas, embora os grupos não sejam exibidos na página de grupos, é possível acessar a página do grupo se o usuário clicar em um link.
O oculto privado é o que torna o grupo secreto e é a razão pela qual acho que faz sentido que o filtro no diretório de usuários não funcione. Ele vazaria informações. O grupo que simplesmente não é exibido não é secreto.
Então, você restringe o acesso apenas aos usuários que estão logados. Se você deseja que visitantes tenham acesso ao grupo, por que limitar a visibilidade e o acesso aos membros em vez de escolher “todos”?
Desculpe se eu estiver entendendo mal. Eu pensei que /u?exclude_groups=admins significasse que os administradores não estivessem incluídos na lista? Não.
Atualmente, eles são excluídos apenas quando logados, mas quando deslogados, eles são incluídos.
Seria legal se /u?exclude_groups=admins funcionasse tanto para visitantes registrados quanto para não registrados.
Você pode explicar melhor o que quer me dizer com essa captura de tela?
Vejo que você limitou o acesso ao grupo apenas a usuários logados. Também limitou o acesso aos membros do grupo apenas a usuários logados.
Em seguida, você me mostra que um usuário não logado não consegue acessar os dados dos membros do grupo. Para mim, isso faz sentido. Eu esperaria que isso funcionasse apenas se você tivesse escolhido “todos” em ambas as configurações.
Parece que você está dizendo: “Quero ocultar os dados sobre quem está no grupo de administradores dos visitantes.” Mas, ao mesmo tempo, você reclama que os dados não estão disponíveis para filtrar o diretório de usuários.
Você não pode excluir os membros de um grupo quando não tem permissão para saber quem está nele.
Estou apenas ecoando o que @Moin disse aqui. Se fizéssemos exclude_groups=admins funcionar, alguém poderia deduzir os membros do grupo de administradores, mesmo sem ter acesso a eles.
Portanto, temo que isso seja intencional e improvável de mudar. Se você quiser que as pessoas possam descobrir os membros do grupo de administradores, será necessário torná-lo visível para todos.
A mesma lógica se aplica a qualquer pessoa que apenas se registra. Se um usuário totalmente novo se cadastrar e usar exclude_groups=admins, os administradores ficarão ocultos em sua lista, permitindo que ele já deduza a associação ao comparar as listas filtrada e não filtrada.
A barreira para “descobrir” é apenas criar uma conta gratuita, o que qualquer pessoa pode fazer em segundos. Então, qual é a verdadeira diferença entre um visitante deslogado e uma conta com apenas um minuto de idade?
Para contextualizar, tudo o que realmente estou tentando alcançar é que, no plugin da barra lateral, há um ranking, e eu simplesmente não quero que o grupo de administradores seja incluído na lista de “mais curtidas recebidas” ou nos principais contribuidores.
Sim, isso certamente é verdade. Mas, quando se trata de recursos de segurança, precisamos projetar as coisas para funcionar exatamente como são descritas. Se alguém decidir ocultar a associação a grupos, isso precisa funcionar com 100% de confiabilidade.
Por que você não altera a visibilidade do grupo de administradores e de seus membros para “todos” para conseguir isso? Assim, os dados estariam disponíveis para visitantes e o filtro deveria funcionar. Especialmente quando você diz que qualquer pessoa pode fazer login e visitar /g/admins, não deveria importar se usuários deslogados também pudessem.
O problema é que ocultar a associação a grupos de membros não é realmente confiável aqui de qualquer forma. Em muitos fóruns, incluindo o meu, os administradores são alguns dos usuários mais ativos. Portanto, basta classificar o diretório por atividade e geralmente é possível identificar um ou dois administradores imediatamente.
A associação ao grupo de administradores é facilmente deduzida a partir da atividade exposta. Especialmente porque https://meta.discourse.org/u já vem configurado para classificar por atividade:
Claro, você poderia ocultar todos os perfis também. Mas meu ponto é que a vantagem de segurança alegada na atual ignorância de /u?exclude_groups=admins parece ser pouca ou nenhuma, ou, na melhor das hipóteses, superficial.
Portanto, registrar-se não adiciona realmente segurança neste caso. Seja desconectado ou apenas crie uma conta, você pode identificar os administradores classificando, pois seus níveis de atividade permanecem públicos, mesmo quando tento mantê-los fora da lista com /u?exclude_groups=admins.
Foi exatamente por isso que eu relatei o problema inicialmente. Se ocultar administradores fosse um recurso de segurança deliberado, esperaríamos que ele priorizasse impedir que usuários não autenticados descobrissem isso. Mas, como as coisas estão, é o oposto: alguém desconectado pode descobrir mais facilmente apenas visitando a página padrão: /u.
Essa inversão é o que me fez pensar que talvez não fosse intencional.
Edição:
Para mim, voltando à questão principal, nem mesmo se trata de segurança. Esse é um ponto levantado do seu lado. Eu apenas gostaria que a atividade dos administradores não aparecesse nas classificações do plugin da barra lateral e na página /u.
Entendo seu ponto, mas é importante considerar que o sistema de segurança do grupo não é específico para o grupo @admins. O mesmo modelo de segurança precisaria funcionar para o grupo @super-secret-lurkers, caso um fórum tivesse um
Ser capaz de identificar “não pertencente a um grupo” é, em última análise, o mesmo que ser capaz de ver “pertencente a um grupo”.
Sim, faz sentido. Atualizar o grupo de administradores para ficar visível para “todos” funciona para você?
Não, eu tentei isso antes de abrir o tópico. Pensei que talvez os não membros precisassem conseguir ver o grupo para que a exclusão funcionasse. Mas não, /u?exclude_groups=admins é totalmente ignorado para visitantes não registrados.
Não se trata de ocultar os usuários, mas de ocultar a informação sobre quem é membro de um grupo. É por isso que você pode ver os membros de um grupo oculto no diretório, mas não consegue acessar a página do grupo. Você sabe que o usuário existe, mas não sabe se ele pertence a um grupo secreto.
Por exemplo, você tem um grupo para o cliente A, mas não quer que outros usuários do seu fórum saibam que esse grupo existe. Nesse caso, você limita a visibilidade do grupo, mas, claro, os membros permanecem visíveis em outros lugares. Você pode vê-los postando e no diretório de usuários. Porém, você não sabe que eles estão no grupo do cliente A.
Da mesma forma, você pode limitar a visibilidade do grupo de administradores. Os visitantes não têm permissão para saber quem está no grupo, mas podem saber que esses usuários utilizam o fórum.