Erweiterung:ConfirmAccount

From mediawiki.org
Jump to navigation Jump to search
This page is a translated version of the page Extension:ConfirmAccount and the translation is 20% complete.
Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎Türkçe • ‎dansk • ‎español • ‎français • ‎polski • ‎português do Brasil • ‎中文 • ‎日本語
MediaWiki-Erweiterungen
OOjs UI icon advanced.svg
ConfirmAccount
Freigabestatus: stabil
ConfirmAccounts.png
Einbindung Benutzeridentität , Datenbank , Spezialseite
Beschreibung Erfordert den Antrag und Bestätigung von Benutzerkonten.
Autor(en) Aaron SchulzDiskussion
MediaWiki 1.23+
Datenbankänderungen Ja
Tabellen account_requests
account_credentials
Lizenz GNU General Public License 2.0 or later
Herunterladen
README
  • $wgAutoWelcomeNewUsers
  • $wgAccountRequestTypes
  • $wgConfirmAccountNotice
  • $wgConfirmAccountCaptchas
  • $wgConfirmAdminEmailExtraFields
  • $wgConfirmAccountRequestFormItems
  • $wgConfirmAccountContact
  • $wgAccountRequestExts
  • $wgAccountRequestThrottle
  • $wgConfirmAccountFSRepos
  • $wgRejectedAccountMaxAge
  • $wgConfirmAccountSaveInfo
  • $wgConfirmAccountSortkey
  • $wgAutoUserBioText
  • $wgAccountRequestWhileBlocked
  • $wgConfirmAccountRejectAge
  • $wgMakeUserPageFromBio
  • confirmaccount
  • confirmaccount-notify
  • requestips
  • lookupcredentials
Übersetze die ConfirmAccount-Erweiterung, wenn sie auf translatewiki.net verfügbar ist
Prüfe die Benutzungs- und Versionsmatrix.
Probleme Offene Aufgaben · Einen Fehler melden

Die Erweiterung ConfirmAccount deaktiviert direkte Benutzerkontenerstellung und erfordert die Bestätigung neuer Konten durch Administratoren (bureaucrat). Direkte Benutzerkontenerstellung kann noch über die Konfiguration der Benutzerrechte aktiviert werden (wenn Sysops/Bureaucrats direktes Erstellen ermöglicht werden soll).

Die Erweiterung ConfirmEdit kann (gemeinsam mit der ConfirmAccount Erweiterung) genutzt werden, um Captchas gegen Massenanfragen einzusetzen.

Installation

  • Die Erweiterung herunterladen und die Datei(en) in ein Verzeichnis namens ConfirmAccount im Ordner extensions/ ablegen.
  • Folgenden Code am Ende der LocalSettings.php hinzufügen:
    wfLoadExtension( 'ConfirmAccount' );
    
  • Führe das Aktualisierungsskript aus, welches automatisch die notwendigen Datenbanktabellen erstellt, die diese Erweiterung braucht.
  • Ensure the wiki has write permissions on $wgUploadDirectory.
  • As of 26 Sep 2020 there seems to be an issue with permissions when using wfLoadExtension(): the createaccount permission may not be revoked from the all users group.
Use
$wgGroupPermissions['*']['createaccount'] = false;
to prevent account creation until this is resolved.
  • Yes Erledigt – Zu Special:Version in dem Wiki (bei Einstellung auf deutsch nach Spezial:Version) navigieren, um die erfolgreiche Installierung der Erweiterung zu überprüfen.

Für Benutzer, die MediaWiki in der Version 1.24 und früher betreiben:

Die oben stehenden Anweisungen beschreiben die neue Installationsanweisung für diese Erweiterung unter der Verwendung von wfLoadExtension(). Wird diese Erweiterung in einer dieser früheren Versionen (MediaWiki 1.24 und früher)  – an Stelle von wfLoadExtension( 'ConfirmAccount' ); – installiert, benutze:

require_once "$IP/extensions/ConfirmAccount/ConfirmAccount.php";

Konfiguration

Optional

Es gibt mehrere Konfigurationsvariablen, die in LocalSettings.php angepasst werden können (nach der Zeile require_once, die ConfirmAccount.php enthält). Siehe ConfirmAccount.config.php für all die Variablen, die gesetzt werden können. (Die Standardwerte sind in ConfirmAccount.config.php, aber diese Datei sollte nicht verändert werden.)

There are several configuration variables that can be adjusted in LocalSettings.php (after the require_once line that includes ConfirmAccount.php).

See ConfirmAccount.config.php for all the variables that can be set. (The default values are in ConfirmAccount.config.php, but you should not edit that file).

For example, to set the person's bio as their userpage, set $wgMakeUserPageFromBio = true.

Standardmäßig wird eine Biographie, die mindestens 6 Wörter umfasst, verlangt, damit der neue Benutzer das Anforderungsformular absenden kann. Zur Anpassung dieses Werts ändere $code in LocalSettings.php, z.B. für 10 Wörter: To adjust this requirement, edit $wgConfirmAccountRequestFormItems['Biography']['minWords'] in LocalSettings.php, e.g. for 10 words:
$wgConfirmAccountRequestFormItems['Biography']['minWords'] = 10;

To disable the biography, set $wgConfirmAccountRequestFormItems ['Biography']['enabled'] to false:

$wgConfirmAccountRequestFormItems['Biography']['enabled'] = false;
Administratoren (sysop) können noch immer Benutzerkonten direkt erstellen. Um dies zu deaktivieren, füge in LocalSettings.php hinzu:
$wgGroupPermissions['sysop']['createaccount'] = false;
Wenn nur angemeldeten Benutzern erlaubt ist, Seiten zu lesen, stelle sicher, dass die Antragsseite für ein neues Benutzerkonto der $wgWhitelistRead hinzugefügt ist. Zum Beispiel:
$wgWhitelistRead = array( 'Special:RequestAccount', 'Main Page' );
In anderen Sprachen musst du "Special" und "Main Page" mit den sprachspezifischen Worten ersetzen, wie "Spezial" und "Hauptseite" in einem deutschen Wiki – sonst wird niemand ein Benutzerkonto erstellen können.

Um Benutzer basierend auf ihren Interessen weiter zu kategorisieren, können MediaWiki:Requestaccount-areas eingerichtet werden. Das sollte in einem Format wie diesem passieren:

*Thema|Thema Wikiseite|Text, der allen Biographien interessierter Benutzer hinzugefügt wird|Text, der allen Biographien interessierter Benutzer in Gruppe0 hinzugefügt wird|Text, der allen Biographien interessierter Benutzer in Gruppe1 hinzugefügt wird|Text, der allen Biographien interessierter Benutzer in Gruppe2 hinzugefügt wird|…

Diese Gruppennummern basieren auf $wgAccountRequestTypes. Wenn also 0 der Index ist für 'Autoren', dann werden 'Autoren', die an diesem Thema interessiert sind, den Text für die Gruppe0 hinzugefügt bekommen. Das kann sinnvoll sein, etwa wenn Benutzer entweder als Autoren oder Bearbeiter bestätigt werden können. Autoren können die "Kategorie:X Autoren" haben, wo X das Thema ist (etwa "Mathematik") und Bearbeiter bekommen die "Kategorie:X Bearbeiter". Du kannst soviele Gruppen verwenden, wie du möchtest, aber du brauchts mindestens eine. This should be in a format like: :*Topic|Topic wiki page|text to append to all interested users' bios |text to append to all interested users' bios in group0|text to append to all interested users' bios group1|text to append to all interested users' bios in group2|... These group numbers are based on $wgAccountRequestTypes. So if 0 is the index for 'authors', then 'authors' interested in a topic will have the group0 text appended to their biography. This can be useful, say, if users can be approved as either authors or editors. Authors can have "category:X authors" where X is a topic, like "mathematics", and editors can have "category:x editors". You can have as many groups as you want, but you need at least one.

Mindestens

To attempt to prevent spam, instead of captchas, blacklists and filters; manually moderate new user registrations, with a simpler Request account.

Requesting only a username, email address and brief message.

Add the following to LocalSettings.php after the line require_once "$IP/extensions/ConfirmAccount/ConfirmAccount.php";.

 $wgMakeUserPageFromBio = false;
 $wgAutoWelcomeNewUsers = false;
 $wgConfirmAccountRequestFormItems = [
 	'UserName'        => [ 'enabled' => true ],
 	'RealName'        => [ 'enabled' => false ],
 	'Biography'       => [ 'enabled' => false, 'minWords' => 50 ],
 	'AreasOfInterest' => [ 'enabled' => false ],
 	'CV'              => [ 'enabled' => false ],
 	'Notes'           => [ 'enabled' => true ],
 	'Links'           => [ 'enabled' => false ],
 	'TermsOfService'  => [ 'enabled' => false ],
 ];

Optionally tweak system messages: requestaccount-text, requestaccount-notes, requestaccount-ext-text, requestaccount-acc-text.

Verwendung

Interaction diagram of a successful account creation process.
Confirming account requests on Special:ConfirmAccounts (beta form)
  1. As a bureaucrat (or other user with the confirmaccount permission), browse to Special:ConfirmAccounts
  1. Click Review
  1. You will see the whole form with the users' data.

Carefully review the form, and proceed to creating the account or rejecting the request.

  1. If you chose to create the account, the user's biography will become their userpage and the userpage will be automatically created with the default summary of Creating user page with biography of new user.
  1. After an account is created, the data input by the user at the time of the request can be referred to by typing the username at Special:UserCredentials
In order for bureaucrats to get notified of pending requests you need to set an email / mailing list in LocalSettings.php:
$wgConfirmAccountContact = 'Bureaucrat@domain.com';

Sending notification email to multiple users

This extension allows sending emails to multiple approvers to confirm the account if these users have the confirmaccount-notify permission. This is in addition/alternative to the $wgConfirmAccountContact setting.

This can be achieved (for instance for bureaucrats) by providing them this permission by adding the following to LocalSettings.php:

$wgGroupPermissions['bureaucrat']['confirmaccount-notify'] = true;

Enhancements

Pruning Frequency

To combat robot-requests, default settings prevent rejected email accounts from re-requesting an account for a random period of time after rejection. If you want rejected emails to be able to re-request accounts immediately after rejection, or after a fixed wait-time (days, weeks, months, or even years after rejection), apply the following 2 steps:

1) In LocalSettings.php, after required declaration, set Rejected-Age to 0 (for immediate expiration on rejection), or to your desired wait-time, in seconds:

require_once "$IP/extensions/ConfirmAccount/ConfirmAccount.php";
$wgRejectedAccountMaxAge = 0;

2) Add one line to the file /frontend/specialpages/actions/RequestAccount_body.php at the very end of the function showForm() which shows the Request form, to force pruning right before any new request:

original code:

$out->addWikiMsg( 'requestaccount-footer' );
}

new code:

$out->addWikiMsg( 'requestaccount-footer' );		
# PRUNE
ConfirmAccount::runAutoMaintenance();
}

"Request account" Link

Wenn du einen "Request account" Loginlink hinzufügen möchtest, füge das Folgende in der "LocalSettings.php" Datei hinzu:

$wgHooks['PersonalUrls'][] = 'onPersonalUrls';

function onPersonalUrls( array &$personal_urls, Title $title, SkinTemplate $skin  ) {
    // Add a link to Special:RequestAccount if a link exists for login
    if ( isset( $personal_urls['login'] ) || isset( $personal_urls['anonlogin'] ) ) {
            $personal_urls['createaccount'] = array(
                'text' => wfMessage( 'requestaccount' )->text(),
                'href' => SpecialPage::getTitleFor( 'RequestAccount' )->getFullURL()
            );
    }
    return true;
}

außerdem den Text "Request account" zur Seite "MediaWiki:Requestaccount".

Bekannte Probleme

  • Do not set $wgGroupPermissions['*']['createaccount'] to true in LocalSettings, it will override the request login and allow users to sign up without confirmation.
  • Do not set/create MediaWiki:Requestaccount-areas/xx where xx is a language code, the first part of each line is used as the keys to store in the DB for the items account requesters check.
  • Older versions of MediaWiki may not show the link to Special:RequestAccount at the user login form.

You can edit MediaWiki:loginprompt to remedy this.

  • If your email client loses its mail data before sending it out, users will not get their passwords but may have an account.

Since no one knows the passwords, you may want to use Extension:Password Reset or Special:ResetPassword to send them new ones.

  • If only a few people view the confirm accounts page, the randomly triggered pruning of old requests will not trigger often, so old rejected requests may persist.

This prevents email addresses from re-requesting accounts for an unknown time period. You can override this behavior, and allow immediate re-requests, by forcing prune right before any new Request is submitted. Instructions here.

Troubleshooting

Benachrichtigungs-Emails werden nicht gesendet

If you are testing, note that a user must first confirm their email address through the link emailed to them, and then the email will be sent to the bureaucrat to confirm the account.

Make sure that setting(s) related to extension are introduced after the require_once line. Not before, otherwise extension doesn't see these settings and they fail silently. e.g.

require_once "$IP/extensions/ConfirmAccount/ConfirmAccount.php";
$wgConfirmAccountContact = "admin@example.com";

Also note that when using the 'confirmaccount-notify' setting, that each user in the group (e.g. sysop) will not receive notices unless their E-Mail-Optionen in Special:Preferences allow "Anderen Benutzern erlauben, E-Mails an mich zu senden" and that they have confirmed their email address within the same form.

Siehe auch

References