Wählt man in der Startseite die Option Neue Benutzer einrichten, wird
das Skript newuser.php aufgerufen. In dieser Datei handelt es sich im
wesentlichen ein Formular. In diesem Formular soll man die Kennung für den
Benutzer eingeben. Diese Kennung ist nämlich die Datenbankkennung, mit der der
Benutzer sich bei der Datenbank anmelden kann. Die WWW-Kennung entsteht durch
die Eingabe der Datenbankkennung und gefolgt mit der Zeichenkette
``_www".
Nach der Festlegung der Kennung bestimmt man die Kennungsart durch eine
Checkbox, d.h. welche Kennungen der Benutzer besitzen soll, die
Datenbankkennung oder die WWW-Kennung oder die Beiden. Als Standardeinstellung
wird es auf ``beide "gesetzt. Am Schluss wählt man eine Benutzerart von
Mitarbeiter und Student aus. Wenn es sich um einen Studenten handelt, soll man
die Matrikelnummer eingeben. Das Button Start führt die
Datenübertragung zum Skript checkuser.php.
Es gibt in der Datenbank zwei Tabellen mitarbeiter und
student, die für die Verwaltung von Benutzerinfodaten zuständig sind.
Die Informationen wie beispielsweise der Vorname, Nachname, die Arbeitskennung
von Mitarbeitern, Cipkennung, Matrikelnummer von Studenten usw. für alle
Mitarbeiter am Lehrstuhl und diejenigen Studenten, die einen Fopra oder
Diplomarbeit an diesem Lehrstuhl gemacht haben, werden in der entsprechenden
Tabelle gespeichert.
Das Skript checkuser.php prüft zuerst mit der Verbindung zur
Datenbank, ob die Benutzerinfodaten schon in diesen Tabellen eingegangen sind.
Wenn es nicht der Fall ist, unterbricht es das Programm, gibt eine Warnung und
eine Eingabe des Links, der zur Eintragung dieser Daten führt, aus. Da es sich
um eine andere Anwendung in der Datenbank handelt, wird ein neues Fenster
eröffnet. Dort kann man durch entsprechende Tools die Benutzerinformation
eintragen. Wenn man damit fertig ist, schließt man das Fenster und kehrt
wieder zurück zu der Stelle, an der das Programm unterbrochen wurde. Durch das
Anklicken des Buttons Weiter wird das Programm von sich selbst
gestartet. Damit die von vorherigen Formular übertragenen Daten nicht
verlierengehen, werden sie durch den Einsatz von versteckten(Hidden)
Inputfeldern an sich neu mitgeschickt. Das Programm prüft nochmal die
Infodaten. Falls sie jetzt in der Datenbank vorhanden sind, geht das Programm
zum nächsten Schritt weiter.
In diesem Schritt wird die eingegebene Kennung überprüft, ob diese Kennung in
der Datenbank bereits von anderen Benutzern besitzt oder reserviert wird. Die
Datenbankkennung und WWW-Kennung unterscheiden sich nur von dem konstanten
Suffix ``_www", d.h. wenn eine von der Beiden an einen Benutzter
vergeben
wird, wird die andere ausschließlich für diesen Benutzer reserviert, obwohl
sie noch nicht durch den Befehl CREATE USER in der Datenbank
eingetragen ist. Wenn es festgelegt wird, dass diese Kennung bereits von einem
Benutzer besitzt oder reserviert wird, bricht das Programm an dieser Stelle ab
und man muss zum Anfang zurückkehren, um eine neue Kennung einzugeben. Falls
diese Kennung noch frei ist, wird sie an diesen Benutzer vergeben.
Zur Vorbereitung für die Ausführung des CREATE USER Befehls werden
alle zugehörigen Optionseingaben in einem Formular, das im Skript als nächsten
Schritt enthalten ist, zum Auswählen tabellarisch dargestellt. Es gibt
folgende Formularelemente: ein Optionsfeld (Inputfeld, wobei der Attributwert
von Type gleich ``radio" ist.) für die Entscheidung, ob der Benutzer
ein
Superuser ist; ein Optionsfeld für die Entscheidung, ob der Benutzer neue
Datenbank einlegen kann; ein Optionsfeld für die Entscheidung, ob die
Gültigkeit des Passworts zeitlich begrenzt ist. Wenn die Option Ja
gesetzt wird, stehen zwei Auswahlboxen, die von den geschachteten <
OPTION>-Tags in <SELECT>, zur Verfügung. Die erste besteht aus
Zahlen von (1 bis 9), die Zweite besteht aus Zeiteinheiten (Woche, Monat,
Jahr), damit eine Zeitspanne dargestellt werden kann. Die alle drei
Optionsfelder werden auf NEIN als Standardeinstellung gesetzt; es
gibt noch eine Checkbox, die zur Entscheidung für die Gruppenmitgliedschaft
dient. Die sämtlichen Gruppennamen in der Datenbank werden angezeigt, durch
Anklicken der entsprechenden Kästchen werden eine oder mehrere Gruppen
ausgewählt. Aus Sicherheitsgründen erfolgt die Eingabe eines Passworts im
letzten Schritt vor der Ausführung des CREATE USER Befehls. Sind alle
Entscheidungen getroffen, kann man per Button Weiter zu dem Skript
zusammenfsg.php gelangen.
Hier werden alle Daten, nämlich die Benutzerinfodaten, die als
Hidden-Variablen mitgeschickt werden und die Optiondaten für den
CREATE USER-Befehl, zusammengefasst. Man hat deswegen die letzte
Gelegenheit vor der Befehlausführung, um die Eingabedaten zu überprüfen. Wenn
alle Daten mit der eignen Vorstellung übereinstimmen, gibt man ein Passwort
für die Datenbankkennung ein. Durch Anklicken des Buttons Bestätigen
gelangt man zu createuser.php.
In diesem Skript werden alle Hidden-Variablen sowie das übertragene Passwort
ausgewertet und zu einem komplexen CREATE USER-Befehl für jede
ausgewählte Kennung formuliert. Für WWW-Kennung wird ein zufallsgeneriertes,
16 zeichenlanges Passwort eingesetzt. Nach der Formulierung werden die Befehle
zu der Datenbank gesendet, dort ausgeführt. Nach der erfolgreichen Ausführung
entsteht der neue Benutzer in der Datenbank. Wird eine WWW-Kennung frisch
eingerichtet, wird die Datei /proj/www/pcheger3/Port443/etc/.dbmap
mit einer neuen Zeile von WWW-Kennung:Vorname Nachname:Passwort
aktualisiert, damit man ein Zertifikat für diese Kennung ausstellen kann.