Benutzerrechte in eStudy

Aus THM-Wiki
Wechseln zu: Navigation, Suche

Die wichtigsten Tabellen von eStudy im Überblick

- user: Hierin stehen alle Portalmitglieder und deren Zugehörigkeit zu einer der bisher vier Benutzergruppen (Admin, Student, Dozent, Sekretariat)

- modules: Hier sind alle Skripte die zu eStudy gehören und Zugriffsrechte von Benutzergruppen auf Skripte gespeichert

- modulegroups: Jedes Skript aus der modules Tabelle gehört zu einer Modulgruppe (z.B. „Forum“). Modulgruppen fassen mehrere Skripte zusammen und können in eStudy als Menü angezeigt werden.

Die Felder der jeweiligen Tabellen sind größtenteils bis auf drei Ausnahmen in der modules Tabelle selbsterklärend. Das Feld topmodule gibt an, ob das Modul links (=“Topmodul“) oder als Untermenü eines Moduls (=“Submodul“) angezeigt werden soll. Die beiden anderen Felder access_course und access_foyer betreffen die Zugriffsrechte auf Module und werden später näher erklärt.

Makefile Interpreter

Der Interpreter ist für die Installation der Modulgruppen zuständig. Modulgruppen haben Typischerweise ein eigenes Verzeichnis (z.B. forum oder voting). Der Interpreter sucht im Im Stammverzeichnis der Modulgruppen nach einer .mkf Datei und verarbeitet diese bei der Insallation einer Modulgruppe. Dabei setzt der Interpreter Rechte auf Skripte, nimmt evtl. Veränderungen an der Datenbank vor und setzt Einstellungen für die Ansicht der Skripte im Portal.

Rechteverwaltung

Zunächst einmal wird zum besseren Verständnis zwischen zwei Arten von Zugriffsberechtigungen bzw. Konzepten in eStudy an dieser Stelle unterscheiden.


1) Zugriffsrechte auf Module

Alle PHP Skripte die von eStudy durch andere Skripte eingebunden werden dürfen (Includes) stehen in der modules Tabelle. In dieser Tabelle wird außerdem durch die Felder access_course und access_foyer geregelt, welche Benutzergruppen das jeweilige Skript ausführen dürfen. Diese Zugriffsrechte lassen sich im Portal unter Wartung/Module einstellen. Die genannten Felder „access_course“ und „access_foyer“ beinhalten Integer (Ganzzahl) Werte. eStudy enkodiert/dekodiert diese Zahl als Binärstring. Jedes Symbol des Binärstrings steht für das Zugriffsrecht einer Gruppe auf dieses Modul (0 oder kein Zeichen an der Stelle==>kein Zugriff, 1==>Zugriff erlaubt). Ein Beispiel:


001111 ==> Bedutung: Gast(0) Schüler(0) Alumni(1) Sekretariat(1) Dozent(1) Student(1)


Auf dieses Skript hätten also alle Gruppen außer Schüler und Gast Zugriff. Die Integer-Zahl, die in der Tabelle gespeichert werden würde, wäre hier 15 (von rechts nach links: 2^0+2^1+2^2+2^3=15). Welche Privilegien oder Optionen eine Benutzergruppe auf dieses Modul hat (z.B. read Only für Dateien und Verzeichnisse) wird allerdings nicht definiert. Die Admin Gruppe ist in dieser Maske nicht enthalten, Administratoren haben immer Zugriff auf alle Module.

2) Zugriffseinstellungen bzw. Optionen für Modul-/Objektzugriff

Gibt es bisher noch nicht. eStudy vergibt (oder entzieht) bisher keine Privilegien beim Zugriff auf ein Modul oder Objekt für bestimmte Gruppen oder Personen und kennt auch keine Attribute. Entweder man hat Zugriff auf das Modul, oder eben nicht. Rechte und Optionen eines Benutzers in eStudy werden hart kodiert für die bestehenden Benutzergruppen. Aus dem Vortrag zum „Ur-eStudy“ von Christian Gerhardt:

„Es gibt vier Benutzergruppen 1.Administrator - darf alles

2.Hilfsadmin - für Verwaltungsaufgaben

3.Dozent - Administriert eine Veranstaltung

4.Student - der normale Benutzer

Es gibt eine Untergruppe – Tutor - Student mit Dozentenrechten“

Entsprechend diesem Konzept gibt es keine zentrale Stelle, die die jeweiligen Privilegien der einzelnen Gruppen definiert und alle Berechtigungen sind so nach jeweiliger Gruppenzugehörigkeit fest in die Module programmiert. Mit der Zeit kamen jedoch immer mehr Module und Features hinzu. Mittlerweile gibt es neben diesen globalen Benutzergruppen auch noch Rollen (für Rollenspiele) und Benutzer, denen innerhalb eines Kurses eine andere Benutzergruppe zugewiesen werden kann. Das Ändern bzw. Hinzufügen neuer Benutzergruppen bzw. Gruppenrichtlinien ist daher mit etwas Aufwand verbunden. Einige Module verwenden ihr eigenes Rechtesystem, u.a. Forum/Fotoforum.