Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Geleitwort
Vorwort
1 PEAR – Einführung
2 Authentication
3 Caching
4 Date and Time
5 File Formats
6 HTTP
7 Internationalization
8 Mail
9 Networking
10 PHP
11 Text
12 Web Services
13 Benchmarking
14 Configuration
15 Database
16 File System
17 HTML
18 Images
19 Logging
20 Math
21 Numbers
22 Tools and Utilities
23 XML
24 Selbst Pakete erstellen
25 PECL
Index

Download:
- ZIP, ca. 5,3 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
PHP PEAR von Carsten Möhrke
Anwendung und Entwicklung – Erweiterungen für PHP schreiben
Buch: PHP PEAR

PHP PEAR
798 S., 39,90 Euro
Galileo Computing
ISBN 3-89842-580-0
gp 2 Authentication
  gp 2.1 Auth
  gp 2.2 Auth_HTTP


Galileo Computing

2.2 Auth_HTTP  toptop


Besprochene Version: 2.1.4 Lizenz: PHP-Lizenz 2.02
Klassendatei(en): Auth/Http.php

Das Paket Auth_HTTP ist auch wie Auth zur Authentifizierung von Benutzern gedacht. Bei genauer Betrachtung handelt es sich auch nicht um ein eigenständiges Paket, sondern um eine Erweiterung von Auth. Und zwar stellt Auth_HTTP Funktionalitäten zur Verfügung, mit denen das Passwort und der Benutzername auf Basis des http-Protokolls erfragt werden können. Zur Abfrage der Daten öffnet das Paket ein Fenster, ähnlich wie es passieren würde, wenn Sie eine serverseitige Passwortabfrage (z. B. per .htaccess-Datei) einrichten würden. Die Passwortabfrage basiert also somit auf RFC 2617.

Auch bei diesem Paket ist die Nutzung denkbar einfach. Zur Speicherung der Benutzerdaten können die Container benutzt werden, die in Kapitel 1.2 erwähnt wurden. Im folgenden Beispiel finden Sie eine datenbankbasierte Authentifikation.

require_once("Auth/HTTP.php"); 
 
// DSN definieren 
$dsn = "mysql://netviser:geheim@localhost/netviser"; 
 
// Definieren eines Arrays mit Optionen 
$opts = array ('dsn' => $dsn, 
               'authType' => 'basic' 
           ); 
 
// Neues Objekt ableiten 
$my_auth = new Auth_HTTP("DB", $opts); 
 
// Name des Bereichs festlegen, in den sich der User einloggt 
$my_auth->setRealm('Interner Bereich'); 
// Text, der beim Fehlschlag ausgegeben wird 
$my_auth->setCancelText('<h2>Nicht berechtigt</h2>'); 
// Authentifikation starten 
$my_auth->start(); 
 
// Hat der User sich korrekt eingeloggt? 
if(true == $my_auth->getAuth()) 
{ 
    echo "Hallo $my_auth->username <br />Sie sind eingeloggt"; 
};

Listing 2.4 Authentifikation über das http-Protokoll

Sie sehen, dass die Authentifikation mit diesem Paket der Vorgehensweise von Auth sehr ähnlich ist. Der Konstrukor erwartet als ersten Parameter den Namen des Containers und als zweiten die Optionen für den Container. In diesem Fall habe ich wieder DB genutzt. Die Tabelle in der Datenbank hat denselben Aufbau wie bei Auth beschrieben.

Der DSN muss allerdings in einem Array übergeben werden, da der Konstruktor die Information braucht, welcher Authentifizierungstyp genutzt werden soll. In diesem Fall hat der Schlüssel 'authType' den Wert 'basic', womit eine Basic-Authentifikation initiiert wird. Alternativ können Sie natürlich auch eine Digest-Authentifikation nutzen, wenn Sie den String 'digest' übergeben.

Um eine korrekte Passwort-Abfrage im Browser darstellen zu können, sollten Sie auch einen Namen für den geschützten Bereich (Realm engl. für »Bereich«) angeben, was mit der Methode setRealm() geschieht. Hilfreich ist es auch, wenn Sie mit setCancelText() noch einen Text festlegen, der ausgegeben wird, wenn der Login-Vorgang nicht erfolgreich war oder abgebrochen wurde.

In Abbildung 2.1 sehen Sie die Ausgabe des Scripts im Browser. Der Text, der hinter dem Login-Fenster angezeigt wird, resultiert aus einem vorangegangenen Login-Versuch, der nicht erfolgreich war.

Ansonsten können Sie dieselben Features nutzen, wie das auch bei Auth der Fall ist, da diese Klasse wirklich nur eine Erweiterung zu Auth darstellt.

Abbildung 2.1 Authentifikationsfenster im Browser

 <<   zurück
     
  Zum Katalog
Zum Katalog: PHP PEAR
PHP PEAR
Jetzt bestellen!
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Besser PHP programmieren






 Besser PHP
 programmieren


Zum Katalog: PHP 5 und MySQL 5






 PHP 5 und MySQL 5


Zum Katalog: Web Content Management mit PHP 5 und MySQL 5






 Web Content
 Management mit
 PHP 5 und MySQL 5


Zum Katalog: Reguläre Ausdrücke






 Reguläre Ausdrücke


Zum Katalog: Webseiten programmieren und gestalten






 Webseiten
 programmieren
 und gestalten


Zum Katalog: CSS-Praxis






 CSS-Praxis


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo








Copyright © Galileo Press 2007
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de