从自动组中排除特定电子邮件子域名

I’m looking at the automatic group membership setting (in group settings). It states

Users who register with an email domain that exactly matches one in this list will be automatically added to this group:

Am I correct in assuming that entering bar.com will also trigger membership for emails ending in foo.bar.com? Or is the word “exactly” meant to state that exactly that is not the case?

Assuming that my assumption is correct, I’m looking for a solution for the following:

Goal: All employees (and only employees) of a university should automatically get membership in the group employees .

Strategy: Use the university’s domain uni.edu in the above setting to automatically assign membership

Problem: Student email-addresses also end in uni.edu but they should not get access to the group.

Possible solution: If I could exclude student.uni.edu from getting automatic membership, that should work, but I believe this is currently not possible. Or am I missing something? Any smart workarounds?

1 个赞

It already works that way.

It matches the full domain after the @, so when you configure your group to automatically assign membership for uni.edu it will match foo@uni.edu, but not foo@student.uni.edu

4 个赞

Ah, okay, then my assumption was wrong. But then my issue is another one: I need some sort of catch-all for *.uni.edu because it is impossible to predict the exact sub-domain of an employees email-address. Some have uni.edu, but many have various subdomains like sociology.uni.edu, depending on their departmental affiliation or what they chose as their main affiliation or whatever other determinants there may be.

Is there any way to catch all of these without being able to provide a full list of all possible sub-domains?

Unfortunately that’s currently not possible.

What would it take to create a plugin/PR that would make *.uni.edu work, i.e. that it would catch all users with an email address ending in uni.edu, regardless of whether there is a subdomain or not? My hunch is that it should be pretty easy (read: I might be able to do it), but maybe I’m wrong?

4 个赞

Sure, I think a PR that adds support for wildcards would be fine.

Search for automatic_membership_email_domains in the code if you want to give this a try. It’s used in a couple of files.

5 个赞

Gerhard,你知道是否有人为此提交过 PR 吗?我希望有一个简单的前端管理方式,让所有新创建的 Discourse 账号都能自动分配到特定群组。

例如,我希望能直接在“注册邮箱域名与列表中完全匹配的用户将自动加入此群组”字段中输入通配符 *,这样无论新用户的邮箱地址是什么,他们都会自动加入该群组。

1 个赞

包含所有用户的那个组,其确切目的是什么呢?:thinking:

我认为其意图是存在多个组,每个组关联一个不同的域。所有匹配特定域的用户将被分配到该组。

一个用例是自动创建与特定组织关联的组(并知晓该组成员完全来自该组织)。这在我的社区中会很有用。

不,请特别注意所说的内容:

[quote=“JoelZaslofsky, post:7, topic:86212”]
我想在“使用与此列表中完全匹配电子邮件域注册的用户将自动添加到该组:”字段中直接放入一个通配符 *,并知道所有新用户无论其电子邮件地址如何都会加入该组。[/quote]

我已将相关文本加粗。

5 个赞