Rheinwerk Computing < openbook > Rheinwerk 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
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
Rheinwerk Computing
ISBN 3-89842-580-0
gp 2 Authentication
  gp 2.1 Auth
  gp 2.2 Auth_HTTP


Rheinwerk 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 Rheinwerk-Shop
Zum Rheinwerk-Shop: PHP PEAR
PHP PEAR
Jetzt Buch bestellen!
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchtipps
Zum Rheinwerk-Shop: PHP 5.6 und MySQL 5.7






 PHP 5.6 und
 MySQL 5.7


Zum Rheinwerk-Shop: Einstieg in PHP 5.6 und MySQL 5.6






 Einstieg in PHP 5.6
 und MySQL 5.6


Zum Rheinwerk-Shop: Responsive Webdesign






 Responsive Webdesign


Zum Rheinwerk-Shop: Moderne Websites entwickeln






 Moderne Websites
 entwickeln


Zum Rheinwerk-Shop: MySQL 5.6






 MySQL 5.6


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo








Copyright © Rheinwerk Verlag GmbH 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.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern