Continuant la discussion de Ajouter automatiquement des utilisateurs à un groupe en fonction d’une partie du domaine de messagerie :
Proposition
Actuellement, le paramètre d’appartenance au groupe « Les utilisateurs qui s’inscrivent avec un domaine de messagerie qui correspond exactement à l’un de cette liste seront automatiquement ajoutés à ce groupe » – où l’administrateur souhaite faire correspondre example.com – ne correspond qu’aux domaines de second niveau comme email@example.com.
Je propose que cela soit modifié pour correspondre également aux sous-domaines, par exemple email@sub.example.com.
Raison/avantages
-
Il ne serait pas possible pour moi de taper manuellement les sous-domaines de deux domaines liés au gouvernement en particulier : chacun a des centaines de sous-domaines, qui changent constamment, et la liste complète n’est pas disponible publiquement.
-
Cela assurerait la cohérence avec
email_domains_whitelist, comme l’a noté @sam dans Automatic registration domain wild card - #3 by sam :
Oui, il y a une incohérence interne, notre appartenance automatique au groupe est basée sur une correspondance de domaine stricte par :
Notre correspondance pour
email_domains_whitelistutilise cette correspondanceJe pense qu’il est logique de rendre cela cohérent et constant.
@techAPJ pouvez-vous ajuster l’expression régulière du groupe… attentivement et vous assurer qu’elle est testée afin qu’elle autorise également les sous-domaines.
Solutions proposées
Ceci est possible par un léger amendement à pattern = \"@(#{domains.gsub('.', '\\.')})$\" à discourse/discourse/blob/20de49c8722f8e50e93732702a8d06570376edcd/app/models/group.rb#L1017
-
Changer ceci en
pattern = \"@.*(#{domains.gsub('.', '\\.')})$\"a fonctionné pour moi lorsque je l’ai testé sur mon forum. -
J’imagine que
pattern = \"@(.+\\\\.)?(#{domains.gsub('.', '\\.')})$\"(basé suremail_domains_whitelist) fonctionnerait également, mais je ne l’ai remarqué que plus tard et je ne l’ai pas testé. Je ne comprends pas pourquoi ce n’est pas(.+\\.)?, mais peut-être que le\\\\est une chose Ruby.
Une alternative (si vous craigniez les utilisateurs qui ont actuellement l’intention d’exclure les sous-domaines de l’adhésion automatique) serait d’autoriser les jokers, par exemple pour taper *.domain.com pour l’adhésion automatique au groupe.
Remerciements
Merci de prendre en compte cette demande.