Continuando a discussão de Adicionar automaticamente usuários a um grupo com base em parte do domínio de e-mail:
Proposta
Atualmente, a configuração de associação de grupo “Usuários que se registram com um domínio de e-mail que corresponde exatamente a um nesta lista serão adicionados automaticamente a este grupo” – onde o administrador deseja corresponder a example.com – corresponde apenas a domínios de segundo nível, como email@example.com.
Proponho que isso seja alterado para corresponder também a subdomínios, por exemplo, email@sub.example.com.
Razão/benefícios
-
Não seria viável para mim digitar manualmente os subdomínios de dois domínios relacionados ao governo em particular: cada um tem centenas de subdomínios, que mudam constantemente, e a lista completa não está publicamente disponível.
-
Proporcionaria consistência com
email_domains_whitelist, como observado por @sam em Automatic registration domain wild card - #3 by sam
Sim, há uma inconsistência interna, nossa associação automática de grupo é baseada em uma correspondência de domínio estrita por:
Nosso correspondente para
email_domains_whitelistusa esta correspondênciaAcho que faz sentido tornar isso coerente e consistente.
@techAPJ você pode ajustar a regex do grupo… com cuidado e garantir que seja testada para que também permita subdomínios.
Soluções propostas
Isso é possível por uma pequena alteração em pattern = \"@(#{domains.gsub('.', '\\.')})$\" em discourse/discourse/blob/20de49c8722f8e50e93732702a8d06570376edcd/app/models/group.rb#L1017
-
Mudar isso para
pattern = \"@.*(#{domains.gsub('.', '\\.')})$\"funcionou para mim quando testei no meu fórum. -
Imagino que
pattern = \"@(.+\\\\.)?(#{domains.gsub('.', '\\.')})$\"(baseado ememail_domains_whitelist) também funcionaria, mas só notei isso depois e não testei. Não entendo por que não é(.+\\.)?, mas talvez o\\\\seja uma coisa do Ruby.
Uma alternativa (se você estivesse preocupado com usuários que atualmente pretendem excluir subdomínios da associação automática) seria permitir curingas, por exemplo, digitar *.domain.com para associação automática de grupo.
Obrigado
Obrigado por considerar esta solicitação.