Nutzerverwaltung

Nutzerkonten-Verwaltung, Rollen-Rechte, Authentifizierung, user-lifecycle, Einschreibemethoden

Authentifizierung

Authentifizierung

Matrikelnummer mit Shibboleth übertragen

Wird z.B. schacPersonalUniqueCode vom IdentityProvider als SCHAC-Attribut übertragen, kann man den Wert via Transform auf ServiceProvider-Seite für Moodle nutzbar extrahieren:

  <AttributeResolver type="Transform" source="schacPersonalUniqueCode">
    <Regex match="^urn:mace:terena\.org:schac:personalUniqueCode:de:beispieldomain\.de:Matrikelnummer:(.+)$" dest="matnum">$1</Regex>
  </AttributeResolver> 

"The Schema for Academia, SCHAC, aims to define and promote common schemas in the field of higher education to facilitate inter-institutional data exchange."

https://wiki.refeds.org/display/STAN/SCHAC+Releases

Die genaue Regexp im Transform-AttributeResolver hängt davon, wie das Attribut formatiert ist.

Der AttributeResolver ist ein Unterelement der ApplicationDefaults in der shibboleth2.xml des Service Providers. 

Quelle: Thorsten Bartel (Ruhr-Universität Bochum) via #Moodle-D-A-CH:matrix.org am 11.02.2025

Rollen und Rechte

In Rollen sind die Berechtigungen (capabilities) definiert. Diese können auf verschiedenen Ebenen vergeben werden. 

Es ist zu unterscheiden zwischen globalen zugeordneten Rollen im kompletten Moodle-System ("Rollen zuweisen in System": /admin/roles/assign.php?contextid=1), wie z.B. admins oder Support, und kursspezifischen Rollen, wie z.B. Lehrende.

Die verfügbaren Rollen im System und deren Rechte (Capabilities) werden unter /admin/roles/manage.php definiert. Dort wird auch gesteuert, welche Rollenzuweisungen, -änderungen, -wechsel und -ansicht jeweils erlaubt sind.

Ausführliche Dokumentation in den Moodle Docs

Docs: Rollen und Rechte


Autor: Klaus Steitz, Technische Universität Darmstadt

Nutzerlisten-Import

Mit Import-Listen können Nutzer/innen neu erstellt oder in Kurse und Gruppen hinzugefügt werden. 

Website-Administration > Nutzer/innen > Nutzerkonten > Nutzerliste hochladen ermöglicht, Nutzer/innen in einen oder mehrere Kurse mit unterschiedlichen Rollen oder Gruppen einzuschreiben, das Aktualisieren von Daten im Nutzerprofil oder das Erstellen, Deaktivieren und Löschen von Nutzerkonten (via Spalte "deleted"). 

Die Nutzerliste wird in Form einer Comma-separated values-Datei (CSV-Datei) hochgeladen. Diese Tabelle kann mit Excel/Calc erstellt werden und muss mindestens die folgenden Spalten enthalten:

username firstname lastname email

Der Zeichensatz, mit dem Excel die Datei speichert, kann zu Problemen führen (v.a. bei Umlauten); daher die CSV-Datei am besten mit Notepad++ öffnen und ggf. die Zeichen auf Windows-1252 konvertieren – Einstellung in Notepad++ unter Encoding -> Character sets -> Western European -> Windows-1252

Für manuelle Accounts: Der Benutzername darf nur Kleinbuchstaben, Ziffern, das Minuszeichen '-', einen Unterstrich '_', einen Punkt '.' oder das '@'-Zeichen enthalten.

Liste aus bereits vorhandenen usern erstellen

Via "Nutzerverwaltung (Bulk)" können gewünschte Filter gesetzt und danach eine Liste exportiert werden. Dies ergibt eine korrekt formatierte Tabelle mit allen nötigen Daten. 

Import vorhandener user in einen Kurs

Hier beispielhaft die Schritt-für-Schritt Vorgehensweise zum Hinzufügen bereits im System vorhandener user zu einem Kurs als Teilnehmende; hier werden neue user in den Rollen Lehrende und Assistenz in den Kurs "Lehrenden-Community" hinzugefügt:

  1. Unter Website-Administration > Nutzer/innen > Nutzerkonten > Nutzerverwaltung (Bulk) auf "Mehr anzeigen ..." klicken
  2. "Kurs-Rolle" auf "Lehrende" setzen und Button "Filter Hinzufügen" klicken
  3. "Mehr anzeigen ..." klicken, "Erster Zugriff ist nach" auf einen Tag vorm letzten Import (s.u.) setzen und Button "Filter Hinzufügen" klicken
  4. Button "Alle Hinzufügen" klicken rechts von "Auswahl bearbeiten"
  5. Checkbox vor "Kurs-Rolle ist "Lehrende"" setzen und Button "Ausgewählte Suche beenden" klicken
  6. "Mehr anzeigen ..." klicken, "Kurs-Rolle" auf "Assistenz" setzen und Button "Filter Hinzufügen" klicken
  7. Button "Alle Hinzufügen" klicken --> user der Rollen Lehrende und Assistenz werden addiert und dabei Duplikate durch Doppelrollen vermieden
  8. Ganz unten "Für ausgewählte Nutzer/innen … " klicken und "Download" auswählen --> .xlsx auswählen und Button "Herunterladen"
  9. Nutzerinnen.xlsx öffnen und alle Spalten bis auf folgende 5 löschen:
    username email firstname lastname course1
  10. Für alle Zeilen der neue hinzugefügten Spalte "course1" diesen Wert setzen: Lehrenden-Community
  11. Als CSV (Trennzeichen-getrennt) speichern 
  12. Mit Notepad++ öffnen und prüfen, dass keine falschen oder leeren Spalten mit ",," enthalten sind + ggf. Coding auf Windows-1252 umstellen, falls Umlautprobleme auftauchen (s.o.)
  13. Die csv-Datei hochladen unter Website-Administration > Nutzer/innen > Nutzerkonten > Nutzerliste hochladen und "Vorschau für Zeilen" auf 1000 stellen sowie "Encoding" auf "Windows-1252"
  14. Vorschau prüfen und unter Einstellungen "Upload Typ" auf "Nur vorhandene aktualisieren" und die anderen Werte auf "Nein" setzen 
  15. Button "Nutzerliste hochladen" und Ausgabe überprüfen.

Ausführliche Dokumentation in den Moodle Docs

https://docs.moodle.org/de/Nutzerliste_hochladen


Autor: Klaus Steitz, Technische Universität Darmstadt

user-lifecycle

Hier geht es um Aufräumstrategien für Accounts mit einer Übersicht von User-Lifecycle-Plugins.

User-Konten werden nicht automtisch aufgeräumt, wodurch sich über die Zeit viele inaktive Konten von Usern, die nicht mehr Hochschulangehörige sind, ansammeln können. Zum Aufräumen dieser Accounts nach bestimmten Regeln gibt es verschiedene Plugins, die z.B. prüfen, ob User noch im LDAP sind.

Hier ein grober Überblick von User-Lifecycle-Plugins: 

User Suspension (tool_usersuspension)

https://moodle.org/plugins/tool_usersuspension

Inactive User Cleanup (tool_inactive_user_cleanup)

https://moodle.org/plugins/tool_inactive_user_cleanup

Es wird ein Scheduled Task erstellt, der 1x tgl. läuft und folgendes prüft:

Pro:

Contra: 

Hard life cycle for self-signup users (tool_selfsignuphardlifecycle)

https://moodle.org/plugins/tool_selfsignuphardlifecycle

LDAP server Sync Plus (auth_ldap_syncplus)

https://moodle.org/plugins/auth_ldap_syncplus

Automatic User Deletion (tool_userautodelete)

https://github.com/ngandrass/moodle-tool_userautodelete

Features:

Pro:

Contra:

cleanupusers (tool_cleanupusers)

https://github.com/eLearning-TUDarmstadt/moodle-tool_cleanupusers

Features:

Pro:

Contra:


Autor*innen: Klaus Steitz (TU Darmstadt), Melanie Treitinger (Ruhr-Uni Bochum)