MediaWiki-允许阅读前需要确认的电子邮件吗?

MediaWiki-允许阅读前需要确认的电子邮件吗?,mediawiki,Mediawiki,我正在尝试为大学生建立一个MediaWiki。使用,我阻止任何人创建帐户,除了那些有大学电子邮件的人。使用$wgEmailConfirmToEdit,我可以要求用户在编辑文件之前确认电子邮件。然而,实际上,用户可以使用来自正确域的假电子邮件来创建帐户。使用该帐户,他们可以查看所有页面(即使他们无法编辑这些页面)。我不想授予他们阅读权限,除非电子邮件已被确认。这可能吗?注意,我希望所有正确域的确认电子邮件都被自动接受。它不需要手动创建帐户接受。理论上 $wgGroupPermissions['*'

我正在尝试为大学生建立一个MediaWiki。使用,我阻止任何人创建帐户,除了那些有大学电子邮件的人。使用
$wgEmailConfirmToEdit
,我可以要求用户在编辑文件之前确认电子邮件。然而,实际上,用户可以使用来自正确域的假电子邮件来创建帐户。使用该帐户,他们可以查看所有页面(即使他们无法编辑这些页面)。我不想授予他们阅读权限,除非电子邮件已被确认。这可能吗?注意,我希望所有正确域的确认电子邮件都被自动接受。它不需要手动创建帐户接受。

理论上

$wgGroupPermissions['*']['read'] = false;
$wgGroupPermissions['emailconfirmed']['read'] = true;
应该有用。实际上,MediaWiki几乎总是与“每个人都可以阅读”或“如果你登录了就可以阅读”设置一起使用,其他设置没有经过很好的测试,因此如果该wiki有一些高度敏感的私人信息,我不会这样做,但我想对于大学网站来说,情况并非如此


或者,将电子邮件确认步骤集成到帐户创建中应该不会太难,但您必须为此编写代码。(在登录过程中进行类似的检查)可能会让您了解其外观。

您可以尝试以下方法,如

正如Jenny Shoars所提到的,您可能希望将一些页面列入白名单,例如:

$wgWhitelistRead = array("Main_Page", "Special:CreateAccount", "Special:ConfirmEmail");

因此,未注册的用户仍然可以创建帐户等。

*
只阻止未登录的用户,但仍然允许已登录但未确认的电子邮件用户?您需要覆盖
$wgGroupPermissions
中启用读取的所有字段,新用户可以拥有这些字段(有效权限将是MediaWiki或将您所属组的
$wgGroupPermissions
子数组合并在一起)。您是对的,默认情况下,这包括
用户
。我还没有做很多测试来检查各种情况,但这似乎有效。但是,其他人应该注意,您可能需要将一些页面列入白名单,例如
$wgWhitelistRead=array(“主页”、“特殊:CreateCount”、“特殊:确认邮件”);
允许用户进入帐户创建页面,并使用确认电子邮件页面确认其电子邮件。
$wgWhitelistRead = array("Main_Page", "Special:CreateAccount", "Special:ConfirmEmail");