Entfernen eines Mahara-Benutzers

Entfernen eines Mahara-Benutzers

von Ralph Ballier -
Anzahl Antworten: 5
Nutzerbild von Besonders aktive Moodler

Hallo ihr alle,

vor längerer Zeit hatte ich es hinbekommen, dass Benutzer aus Mahara heraus sich unmittelbar bei Moodle anmelden konnten.

Das haben wir danach mangels Notwendigkeit kaum benutzt und nach einer Weile  funktionierte es wohl auch nicht mehr richtig.

Jetzt haben wir festgestellt, dass es einen Benutzer in Moodle sozusagen doppelt gibt: zum einen ist er regulärer Moodle-Benutzer, zum zweiten wird er aber noch immer als "Remote-Nutzer/in Mahara" geführt (von unseren damaligen Versuchen liegengeblieben). Da Name und E-Mailadresse identisch sind, kann es passieren, dass er mit der "falschen" Identität zu einem Kurs eingeladen wird (also mit der Mahara-Identität). Das nützt ihm nichts, weil er sich ja nur mit der Moodle-Identität anmelden kann.

Löschen lässt sich der Mahara-Gast nicht (es fehlt das Lösch-Kreuz). Inzwischen habe ich alle Verbindungen zwischen Moodle und Mahara entfernt, aber der Geisterbenutzer bleibt.

Was kann ich noch machen?

Mittelwert:  -
Als Antwort auf Ralph Ballier

Re: Entfernen eines Mahara-Benutzers

von Stefanie Berger -
Nutzerbild von Besonders aktive Moodler Nutzerbild von Deutsche Moodle Übersetzer
Lieber Ralph,

mir geht es genauso mit Remote-Nutzer/innen, die über MNET zwischen zwei Moodle-Systemen angelegt wurden. Ich vermute, bei Dir ist es auch die MNET-Verbindung gewesen, durch die Nutzer angelegt wurden?

Da die Nutzer/innen überhaupt nicht bearbeitbar sind – auch nicht (und das wäre die Lösung) – die Authentifizierungsmethode ist nicht zu ändern, habe ich auch noch keine Lösung gefunden, wie man mit diesen Nutzer verfahren kann. Ich möchte sie nicht mal löschen, sondern weiternutzen mit anderen Authentifizierung.

Ich wäre da auch sehr an einer Lösung interessiert!
Liebe Grüße
Stefanie
Als Antwort auf Stefanie Berger

Re: Entfernen eines Mahara-Benutzers

von Ralph Ballier -
Nutzerbild von Besonders aktive Moodler
Liebe Stefanie,

ja, auch bei mir war es eine MNET-Verbindung gewesen. Und vorhin ist es genau zu der von mir beschriebenen Verwechselung gekommen und der Benutzer hat sich gewundert, dass der Kurs nicht unter "Meine Kurse" aufgeführt war.

Vielleicht sollten wir in einem englischsprachigen Forum nachfragen.

Gruß
Ralph
Als Antwort auf Ralph Ballier

Re: Entfernen eines Mahara-Benutzers

von Andreas Grabs -
Nutzerbild von Besonders aktive Moodler Nutzerbild von Entwickler

Hallo Ralph und Stefanie,

genau genommen ist nicht die Authentifizierungsmethode "mnet" die Ursache sondern der Wert "mnethostid" in der Tabelle "mdl_user". Solange dieser Wert sich von der eigenen "mnethostid" unterscheidet, kann ein Nutzer nicht bearbeitet werden, da Moodle davon ausgeht, dass dieser Nutzer von einem anderen System verwaltet wird. Leider lässt sich das nicht über die Moodle-Oberfläche ändern.

Über einen etwas radikalen Eingriff in die Datenbank kann aber genau diese Blockade aufgehoben werden. Dabei genügt es allerdings nicht, einfach nur den Wert für "mnethostid" zu ändern, da möglicherweise bereits ein Account mit demselben Nutzernamen aber der korrekten "mnethostid" existiert. Die beiden Werte "username" und "mnethostid" sind in der Tabelle "user" als "unique" eingerichtet. Daher muss mit der "mnethostid" gleichzeitig auch der Nutzername "username" gewechselt werden, da es sonst einen SQL-Fehler gibt.

Die folgende SQL-Anweisung wäre ein Weg, die Mahara-Nutzer wieder "ins Boot" zu holen:

UPDATE `mdl_user`
SET mnethostid = <korrekte mnethostid>,
username = CONCAT('mnet_', username)
WHERE auth = 'mnet'

In dem Beispiel wird einfach die "mnethostid" korrigiert und vor dem Benutzernamen  das Präfix "mnet_" gesetzt, so dass der Name sich vom lokalen Pendanten unterscheidet und es keinen Konflikt gibt. Wichtig: Ihr müsst eure korrekte mnethostid ermitteln. Diese könnte ihr einfach von einem gültigen Account aus der Datenbank ermitteln. In einer Standardinstallation ist der Wert i.d.R. "1". Aber man weiß ja nie zwinkernd.

Denkbar wäre auch ein Ändern des Vor- oder Nachnamens, damit dieser Nutzer leichter in der Nutzerliste erkannt wird.

UPDATE `mdl_user`
SET mnethostid = <korrekte mnethostid>,
username = CONCAT('mnet_', username),
firstname = CONCAT('mnet_', firstname)
WHERE auth = 'mnet'

In der WHERE-Klausel könnte noch der aktuelle Username angegeben werden, wenn die Anweisung nur für einen bestimmten Nutzer verwendet werden soll.

Ich hoffe, das hilft euch etwas weiter.

Viele Grüße
Andreas



Als Antwort auf Andreas Grabs

Re: Entfernen eines Mahara-Benutzers

von Ralph Ballier -
Nutzerbild von Besonders aktive Moodler
Hallo Andreas,

wunderbar! Es hat geklappt.

Vielen Dank für die Unterstützung.

Gruß
Ralph