next up previous contents
Nächste Seite: Zusammenfassung und Ausblick Aufwärts: main Vorherige Seite: Aktualisierung von Gruppen   Inhalt

Funktionsreferenz

Die sämtlichen Hilfsfunktionen, die bei der Implementierung zum Einsatz gebracht wurden, sind in einer Include-Datei function.inc nach Funktionsnamen sortiert zusammengefasst. In diesem Kapitel werden die davon wichtigen Funktionen nach ihrer Funktionalität beschrieben.

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


next up previous contents
Nächste Seite: Zusammenfassung und Ausblick Aufwärts: main Vorherige Seite: Aktualisierung von Gruppen   Inhalt
Zhongshi Wang 2002-04-11