aktion_grouppriv($conn, $listen, $groupname, $art, $hr)
Diese Funktion führt die SQL-Befehle GRANT oder REVOKE für
eine Gruppe aus. $conn stellt die Verbindung zur Datenbank dar. Alle
Privilegien, die eine Gruppe erhalten soll, werden in einem assoziativen Array
($listen) gespeichert. Die Objektnamen (Tabellen, Sichten und
Sequenzen), auf die die Zugriffsrechte vergeben werden, werden als Schlüssel
des assoziativen Array, und die entsprechenden Zugriffsberechtigungen (Select,
Insert, Delete/Update und Rule) als den Wert von dem Schlüssel gespeichert.
Der Parameter $art entscheidet, ob es sich dabei um den Befehl
GRANT oder REVOKE handelt. Wenn es sich um GRANT
handelt, wird der Parameter $hr auf TO, sonst auf
FROM gesetzt.
Einsatz in: creategroup.php, loeschgroup.php und update_group.php
aktion_userpriv($conn, $listen, $username, $art, $hr)
Diese Funktion führt die SQL-Befehle GRANT oder REVOKE für
einen Benutzer aus. $conn stellt die Verbindung zur Datenbank dar.
Alle Privilegien, die ein Benutzer erhalten soll, werden in einem assoziativen
Array ($listen) gespeichert. Die Objektnamen (Tabellen, Sichten und
Sequenzen), auf die die Zugriffsrechte vergeben werden, werden als Schlüssel
des assoziativen Array, und die entsprechenden Zugriffsberechtigungen (Select,
Insert, Delete/Update und Rule) als den Wert von dem Schlüssel gespeichert.
Der Parameter $art entscheidet, ob es sich dabei um den Befehl
GRANT oder REVOKE handelt. Wenn es sich um GRANT
handelt, wird der Parameter $hr auf TO, sonst auf
FROM gesetzt.
Einsatz in: loeschuser.php, update_user.php
altergroup($login, $listen, $art, $conn)
Diese Funktion führt den Befehl ALTER GROUP für einen gegebenen
Benutzer. Jeder Benutzer in der PostgreSQL Datenbank kann zu beliebigen Anzahl
von Gruppen gehören. Bei der Änderung der Gruppenmitgliedschaft von einem
Benutzer wird diese Funktion verwendet. $conn bezeichnet die
Verbindungskennung zur Datenbank, $login ist die Benutzerkennung,
$listen ist ein Array, in dem die Grupppennamen gespeichert werden,
die neu hinzugefügt oder entfernt werden sollen. Der Parameter $art
enthält zwei Werte, nämlich ADD oder DROP.
Einsatz in: loeschuser.php, update_user.php
alteruser($conn, $login, $name1, $name2)
Diese Funktion erzeugt ein HTML-Formular für die Ausführung des SQL-Befehls
ALTER USER. Dabei handelt es sich um die Änderung von Systemrechten
für den gegebenen Benutzer, nämlich das Superuserrecht und das Recht, neue
Datenbanken einzurichten. Dafür sind zwei Input-Elemente (type=``radio")
zuständig. Mit Auswählen der entsprechenden Optionen werden die notwendigen
Daten gesammelt und in beiden Variablen $name1 und $name2
gespeichert.
Einsatz in: usermanager.php
checklogin($conn, $kennung)
Bei der Einrichtung von neuen Benutzern wird es zuerst überprüft, ob die von
dem Nutzer eingegebene Kennung bereits in der Datenbank existiert oder von den
anderen reserviert. Wenn es der Fall ist, werden eine Warnung und ein Link zum
Anschauen dieser Kennung ausgegeben. Jeder Benutzer in der Datenbank kann
prinzipiell zwei Kennungen (Datenbank-Kennung und WWW-Kennung) haben. Während
die Datenbank-Kennung zur direkter Anmeldung an der Datenbank dient, wird die
WWW-Kennung für den Zugriff auf WWW benutzt. Die WWW-Kennung besteht aus der
Datenbank-Kennung und einer Zeichenkette ``_www". Wenn eine der beiden
Kennungen für einen Benutzer eingerichtet wird, ist die andere automatisch für
diesen Benutzer in der Datenbank reserviert.
Einsatz in: checkuser.php
create_objectrightlist($conn, $login, $art)
Bei der Bearbeitung der Zugriffsberechtigungen von einem Benutzer oder einer
Gruppe handelt es sich um die sämtlichen Objekte (Tabellen, Sichten und
Sequenzen) in der Datenbank und die entsprechenden Zugriffsrechte (Select,
Insert, Delete/Update und Rule). Diese Funktion erzeugt ein HTML-Formular mit
einer tabellarische Darstellung von den Objekten und Privilegien. Jedes Objekt
wird in einer Zeile angezeigt. In der Tabelle gibt es sieben Spalten, nämlich
Objektname, Objekttyp (Tabelle, Sicht oder Sequenz) und fünf Privilegienarten
(Select, Insert, Delete, Update und Rule). Für jede Privilegiensart wird ein
Input-Element (type=``checkbox") von HTML-Formular eingesetzt. Wenn der
Benutzer oder die Gruppe bestimmte Zugriffsrechte auf das Objekt hat, werden
die entsprechenden Checkboxen von den Privilegien gedruckt angezeigt. Durch
Anklicken auf die Checkbox von Privilegien werden die entsprechenden
Zugriffsberechtigungen auf das Objekt gesetzt oder wieder entfernt. Nach der
Bearbeitung aller Zeilen werden die gesamten Zugriffsrechte auf alle Objekte
in der Datenbank für den eingegebenen Benutzer oder die Gruppe bestimmt. Der
Parameter $conn stellt die Verbindung zur Datenbank dar,
$login bezeichnet den Benutzernamen oder Gruppennamen. Wenn
$art gleich ``group"ist, handelt es sich um die Bearbeitung
von einer Gruppe, sonst geht es um einen Benutzer.
Einsatz in: checkgroup.php, groupmanager.php, usermanager.php
createtable($listen, $anzahl, $name, $anzeige)
Diese Funktion erzeugt eine tabellarische Darstellung für jeden Arrayeintrag
in $listen und jeder Eintrag stellt ein Input (type=``
checkbox") dar. Mit $anzahl kann man bestimmen, wieviel Spalten
diese Tabelle haben soll. Die ausgewählten Daten werden in der Variable
$name gespeichert. Wenn $anzeige ``checked" ist,
werden alle Checkboxen gedruckt dargestellt, sonst werden sie normal
angezeigt.
Einsatz in: checkgroup.php, checkuser.php, groupmanager.php,
usermanager.php, user_det.php
form_grouplist($grouplist)
Bei der Bearbeitung von Gruppenmitgliedern sollen die Datenbank-Kennung und
WWW-Kennung von einem Benutzer gleich behandelt werden. Diese Funktion
untersucht alle Mitglieder in einer Gruppe, fasst die Datenbank-Kennung und
die WWW-Kennung von einem Benutzer zusammen, um die mögliche Inkonsistenz zu
vermeiden. z.B die beiden Kennungen ``aaa" und ``aaa_www"
werden in der Form ``aaa(DB & WWW)" zusammengefasst.
Einsatz in: groupmanager.php
get_allgrouplist($conn)
Diese Funktion fragt die Systemtabelle pg_group in PostgreSQL ab,
und gibt im Erfolgfall die gesamten Gruppennamen in einem Array zurück.
Einsatz in: checkuser.php, usermanager.php
get_alluserlist($conn)
Diese Funktion fragt die View pg_user von der Systemtabelle
pg_shadow in der Datenbank ab, und gibt im Erfolgfall die gesamten
Benutzerkennunglisten in einem Array zurück.
Einsatz in: groupmanager.php
get_mygrouplist($conn, $login)
Diese Funktion fragt die Systemtabelle pg_group in PostgreSQL ab,
und gibt im Erfolgfall die gesamten Gruppennamen für einen eingegebenen
Benutzer ($login) in einem Array zurück.
Einsatz in: loeschuser.php, update_user.php, usermanager.php
get_mymemberlist($conn, $groupname)
Diese Funktion fragt die View pg_user von der Systemtabelle
pg_shadow in der Datenbank ab, und gibt im Erfolgfall die gesamten
Benutzerkennunglisten für die Gruppe ($groupname) in einem Array
zurück.
Einsatz in: groupmanager.php, loeschgroup.php, update_group.php
get_myrights($conn, $login, $art)
Die Systemtabelle pg_class in PostgreSQL enthält alle vergebenen
Zugriffsberechtigungen auf jedes Datenbankobjekt. Diese Funktion fragt diese
Tabelle ab, und gibt im Erfolgfall die gesamten Zugriffsberechtigungen auf
alle Datenbankobjekte von einem eingegebenen Benutzer oder einer Gruppe in
einem Array zurück. Der Parameter $conn stellt die
Verbindungskennung dar, $login bezeichnet einen Benutzernamen oder
Gruppennamen. Wenn die Eingabe von $art ``group" ist, handelt
es sich dabei um eine Gruppe, sonst geht es um einen Benutzer.
Einsatz in: loeschgroup.php, loeschuser.php, update_group.php,
update_user.php
get_userform($conn, $kennungsart, $kennung, $vorname, $nachname)
Für die Ausführung des SQL-Befehls CREATE USER werden bestimmte
Optionseingaben wie beispielsweise die Eingabe über die Systemrechte, Eingebe
über die Gruppenzuordnung usw. benötigt. Diese Funktion erzeugt deshalb ein
HTML-Formular, um solche Eingaben zu erfassen. Es gibt folgende
Formularelemente: ein Optionsfeld (Input-Element, 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
Datenbanken 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 Zeispanne dargestellt werden kann; 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 Gruppennamen ausgewählt. Um
eine bessere Übersicht bei der neuen Benutzereinrichtung zu bekommen, benutzt
man auch einige Benutzerinfodaten, die als Parameter eingegeben werden. Dabei
handelt es sich um $kennungsart (Datenbank-Kennung, WWW-Kennung),
$kennung, $vorname und $nachname.
Einsatz in: checkuser.php
getpassword($stellen)
Diese Funktion erzeugt ein zufallgeneriertes Passwort, das aus Zeichen und
Zahlen mit Variablenlänge besteht. Mit dem Parameter $stellen kann
man die Stellenanzahl des Passworts bestimmen.
Einsatz in: createuser.php, updatepswd.php
group_id2name($conn, $groupids)
In der Systemtabelle pg_group werden alle Gruppenmitglieder nur als
BenutzerID angezeigt. Diese Funktion setzt die Zuordnung von BenutzerID und
Benutzernamen für jede Gruppe um. Der Parameter $conn bezeichnet die
Verbindung zur Datenbank, $groupids ist ein Array, in dem alle
zubearbeitenden GruppenID-Nummer gespeichert werden.
Einsatz in: groupshow.php
updatefile_addln($pfad, $login, $name, $pswd)
Bei jeder neuen Einrichtung von der WWW-Kennung wird ein Zertifikat für den
Zugriff auf den sicheren Web-Server ausgestellt. Für die Datenbankanmeldung
über den sicheren Web-Server werden gewisse Benutzerdaten benötigt. Diese
Daten werden in einer Textdatei (.dbmap) gespeichert. Dabei handelt es sich um
den Benutzernamen (Vor- und Nachname), die WWW-Kennung und das entsprechende
Passwort. Diese Funktion aktualisiert die ``.dbmap"-Datei mit einer neuen
Zeile von Benutzernamen, Kennung und Passwort.
Einsatz in: createuser.php, updatepswd.php
updatefile_detln($pfad, $login)
Diese Funktion löscht den Eintrag von der eingegebenen Kennung
($login) in der Datei ``.dbmap".
Einsatz in: loeschuser.php, updatepswd.php