Fortsetzung der Diskussion von Automatisch Benutzer basierend auf Teilen der E-Mail-Domain zur Gruppe hinzufügen:
Vorschlag
Derzeit passt die Gruppeneinstellung „Benutzer, die sich mit einer E-Mail-Domain registrieren, die genau mit einer in dieser Liste übereinstimmt, werden automatisch zu dieser Gruppe hinzugefügt“ – bei der der Administrator example.com abgleichen möchte – nur Second-Level-Domains wie email@example.com.
Ich schlage vor, dies so zu ändern, dass auch Subdomains abgeglichen werden, z. B. email@sub.example.com.
Grund/Vorteile
-
Es wäre für mich nicht praktikabel, die Subdomains für zwei staatliche Domains manuell einzugeben: Jede hat Hunderte von Subdomains, die sich ständig ändern, und die vollständige Liste ist nicht öffentlich verfügbar.
-
Dies würde Konsistenz mit
email_domains_whitelistgewährleisten, wie von @sam in Automatic registration domain wild card - #3 by sam bemerkt:
Ja, es gibt eine interne Inkonsistenz, unsere automatische Gruppenmitgliedschaft basiert auf einem strikten Domain-Abgleich gemäß:
Unser Abgleich für die
email_domains_whitelistverwendet diesen AbgleichIch denke, es ist sinnvoll, dies kohärent und konsistent zu gestalten.
@techAPJ können Sie den Gruppen-Regex anpassen … sorgfältig und sicherstellen, dass er getestet wird, damit er auch Subdomains zulässt.
Lösungsvorschläge
Dies ist durch eine geringfügige Änderung von pattern = \"@(#{domains.gsub('.', '\\.')})$\" unter discourse/discourse/blob/20de49c8722f8e50e93732702a8d06570376edcd/app/models/group.rb#L1017 möglich.
-
Die Änderung zu
pattern = \"@.*(#{domains.gsub('.', '\\.')})$\"funktionierte bei mir, als ich sie auf meinem Forum getestet habe. -
Ich stelle mir vor, dass
pattern = \"@(.+\\\\.)?(#{domains.gsub('.', '\\.')})$\"(basierend aufemail_domains_whitelist) auch funktionieren würde, aber das habe ich erst später bemerkt und noch nicht getestet. Ich verstehe nicht, warum es nicht(.+\\.)?ist, aber vielleicht ist das\\\\eine Ruby-Sache.
Eine Alternative (falls Sie Bedenken hatten wegen Benutzern, die derzeit beabsichtigen, Subdomains von der automatischen Mitgliedschaft auszuschließen) wäre, Wildcards zuzulassen, z. B. *.domain.com für die automatische Gruppenmitgliedschaft einzugeben.
Danke
Vielen Dank für die Berücksichtigung dieser Anfrage.