PEAR-Handbuch | ||
---|---|---|
Zurück | Nach vorne |
Unser Ziel für dieses Mini-Tutorial ist es, ein System aufzusetzen, die Ihre Seite mit einer einfach zu benutzenden Authentifizierung versieht.
Am Anfang der zu sichernden Seite platzieren Sie folgenden Code:
Beispiel 29-1. Typische Benutzung von PEAR::Auth
Die wenigen Zeilen Code initialiseren die Authentifizierung. Die erste Zeile im obigen Skript inkludiert die Datei aus dem PEAR-Verzeichnis. Es enthält alle notwendigen Code, um PEAR::Auth auszuführen. Als nächstes wird eine Funktion definiert, die das Login-Formular darstellt, mit dem sich ein Besucher der Seite anmelden muss. Sie können die HTML-Formatierungen beliebig ändern.
Da wir eine Datenbank benutzen wollen, um die Login-Daten zu überprüfen, benötigen wir einen korrekten DSN in der Variable $dsn. Er wird benutzt, um sich mit der Datenbank zu verbinden über PEAR::DB. Informationen zum Tabellenschema für die Datenbank oder für die Benutzung anderer Container finden Sie weiter unten. Danach erzeugen wir das Auth-Objekt. Der erste Parameter gibt den zuverwendenen Speicher-Container an. Da wir eine Datenbank benutzen, übergeben wir DB. Der zweite Parameter ist der Verbindungsparameter für den Speicher-Container. Wir setzen hier den DSN ein. Der dritte Parameter ist der Name der Funktion. die das Login-Formular enthält. Das Objekt wurde initialisiert und wir müssen prüfen, ob ein Benutzer angemeldet ist. Dazu rufen wir die Methde checkAuth() auf. Wenn sie TRUE zurückliefert, können wir den Inhalt der Seite weiter ausführen. |
Beispiel 29-2. Optionale Authentifizierung
Da sist ein kleines Beispiel für einen optionalen Login: Der letzte Parameter $optional des Auth-Konstrukturs kann auf TRUE oder FALSE gesetzt werden. Setzen Sie ihn auf FALSE, dann wird das Login-Formular nicht angezeigt und der Benutzer sieht nur den Text "Everybody can see this text!". Klickt er auf den Link im Text, wird die Seite erneut geladen, aber mit dem GET-Parameter login=1. Jetzt kann er im Formular seine Login-Daten eingeben. Wird er erfolgreich eingeloggt, dann kann er den Text "Everybody can see this text!" sehen und zusätzlich "One can only see this if he is logged in!". |
Beispiel 29-3. Logout-Funktion Das folgende Beispiel führt einen „Logout“ aus für den aktuellen Benutzer und zeigt danach das Login-Formular erneut.
|
In der folgenden Passage betrachten wir die Methoden der Klasse PEAR::Auth genauer.
Diese SQL-Anweisungen (unter MySQL) erzeugen eine Tabelle mit dem Standardschema für die Authentifizierung:
CREATE TABLE auth ( username VARCHAR(50) default '' NOT NULL, password VARCHAR(32) default '' NOT NULL, PRIMARY KEY (username), KEY (password) ); |
Diese Tabelle und ihre Spaltenname sind erforderlich für eine funktionierende Authentifizerung über eine Datenbank notwendig. Wenn das Passwort per standardmäßig per MD5-Hash-Funktion kodiert wird, dann muss die Passwort-Spalte mindestens 32 Zeichen aufnehmen können. Wird eine andere Methode benutzt, wie z.B. DES („UNIX crypt“), dann muss die Größe entsprechend angepasst werden.
Zurück | Zum Anfang | Nach vorne |
Auth | Nach oben | Speicher-Container |