Um den Zustand eines Datenbankbenutzers zu verändern, wählt man zuerst in der
Startseite den Link Benutzerübersicht aus. In Benutzerübersicht
werden die gesamten Benutzerkennungen mit den entsprechenden Eigenschaften
tabellarisch angezeigt. In dieser Tabelle kann man erfahren, ob ein Benutzer
ein Superuser ist, ob er das Recht hat, neue Datenbanken einzurichten. Jede
Benutzerkennung stellt wieder einen Link dar, der zu dem Skript
user_det.php führt. Dort bekommt man eine detailierten Übersicht von
der gewählten Kennung. Die beiden Kennungen (DB-Kennung und WWW-Kennung) für
einen Benutzer werden hier gemeinsam angezeigt. Wenn eine von den beiden
fehlt, steht eine Option zur Verfügung, die zur Einrichtung dieser Kennung
führt. Neben den allgemeinen Eigenschaften werden alle Gruppen, zu denen diese
Kennung gehört, angezeigt. Wählt man eine Gruppe aus, gelangt man zur
Deteilübersicht dieser Gruppe. Es gibt auch die Möglichkeit, das Passwort zu
verändern. Wenn es sich dabei um die Passwortänderung von einer
Datenbankkennung handelt, muss man zuerst das aktuelle Passwort eingeben und
dann das neue Passwort zweimal wiederholen. Durch die Bestätigung wird ein
neues Passwort für das DB-Kennung erzeugt. Bei der Passwortänderung von einer
WWW-Kennung braucht man nur diese Aktion zu bestätigen. Ein zufallgeneriertes
Passwort wird automatisch erzeugt, und anschließend wird die Datei
.dbmap mit dem neuen Passwort aktualisiert.
In dem HTML-Formular UserManager gibt es unterschiedliche
Verwaltungsfunktionen, die den Benutzerzustand verändern können. Wenn die
beiden Kennungen (DB-Kennung und WWW-Kennung) für diesen Benutzer bereits in
der Datenbank eingerichtet sind, kann man sich in einer Auswahlliste
entscheiden, ob man die beiden Kennungen gleichmäßig betrachten oder nur die
einzelne Kennung verändern möchte. Die einzelne Änderung kann zu
unterschiedlichen Zuständen beider Kennungen führen. Da die beiden Kennungen
für den selben Benutzer in Prinzip zusammengehören sollen, bleibt die gleiche
Behandlung beider Kennungen als Standardeinstellung. Aber es gibt jedoch die
Möglichkeit, die einzelne Kennung zu verändern. In diesem Fall wird eine
Warnung zuerst ausgegeben.
Anschließend kann man wählen, ob die Kennungen geändert oder aus der Datenbank
entfernt werden sollen. Bei der Benutzerkennungveränderung kann man
feststellen, welche Änderungsoptionen durchgeführt werden. Dabei handelt es
sich um die Veränderung der Systemrechte, Gruppenmitgliedschaft und
Zugriffsberechtigungen. Nach der Festlegung wird das Skript
usermanager.php aufgerufen.
In diesem Skript werden alle Optionsdaten ausgewertet. Wenn es um die
Benutzeränderung geht, wird es weiter untersucht, welche Änderungsoptionen
gewählt werden. Für jede gewählten Änderungsoption werden die entsprechenden
Formular-Elementen eingeblendet. Bei der Änderung von Systemrechten handelt es
sich um zwei Optionsfelder (type=``radio"), die zur Entscheidung für das
Superuserrecht und das Recht, neue Datenbanken einzulegen, dienen. Bei der
Änderung von Gruppenmitgliedschaft werden alle Gruppen, zu denen der Benutzer
bisher gehört, in einer Tabelle angezeigt. Jede Gruppe stellt ein
Input-Element (type=``checkbox") dar. Durch Anklicken kann man sich
entscheiden, ob die gewählten Gruppen aus der bisherigen Gruppenliste von dem
Benutzer entfernt werden sollen. Die restlichen Gruppen werden auf der
gleichen Weise tabellarisch angezeigt. Durch Auswählen der entsprechenden
Checkboxen werden die neuen Gruppen dem Benutzer hinzugefügt. Bei der
Bearbeitung von Zugriffsrechten werden die sämtlichen Datenbankobjekte
(Tabellen, Sichten und Sequenzen), auf die bestimmte Zugriffsrechte vergeben
werden können, tabellarisch angezeigt. Neben jedem Objekt stehen fünf
Input-Elemente (type=``checkbox"), die die unterschiedlichen Privilegien
(Select, Insert, Update/Delete und Rule) repräsentieren. Wenn der Benutzer
bestimmte Zugriffsberechtigungen auf dieses Objekt besitzt, werden die
entsprechenden Checkboxen gedruckt dargestellt. Durch Anklicken auf die
Checkboxen werden die neuen Zugriffsrechte an den Benutzer vergeben bzw. die
bestehenden Zugriffsrechte wieder entfernt. Nach der Feststellung aller
zu verändernden Optionen in dem Formular kann man per Button
Ausführen
alle Optionsdaten zu dem Skript update_user.php schicken und das
Skript starten.
Die übertragenen Daten werden in entsprechenden SQL-Befehlen formuliert. Dabei
handelt es sich um die Befehle von ALTER USER, ALTER GROUP
und GRANT oder REVOKE. Nach der erfolgreichen Ausführung dieser
Befehle wird der Benutzerzustand aktualisiert.
Das Skript loeschuser.php wird aufgerufen, wenn man sich für die
Entfernung der Kennungen entscheidet. Vor der Ausführung des Befehls
DROP USER werden alle Zugriffsrechte und Gruppenmitgliedschaft zuerst
entfernt. Wenn die WWW-Kennung entfernt werden soll, muss die entsprechende
Zeile in der Datei .dbmap auch gelöscht werden.