Besucher einer Webseite mit zusätzlichen Rechten müssen sich authentifizieren. Dafür stehen mit der Authentication-Komponente verschiedene Möglichkeiten zur Verfügung.
11 Authentifizierung
Sobald ein Besucher Ihrer Applikation mehr Rechte bekommen soll, als nur Inhalte zu betrachten, muss ein Mechanismus eingerichtet werden, über den er sich bei der Webapplikation authentifizieren kann. Dabei existieren die verschiedensten Möglichkeiten, die Daten für die Benutzerauthentifizierung vorzuhalten. Diese können sich in der Entwicklung einer Anwendung verändern oder Kombinationen notwendig machen.
Eine Entwicklung der jüngsten Zeit sind zentrale Authentifizierungsmechanismen, da die Anzahl der Webseiten, für die sich ein Besucher Zugangsdaten merken muss, zu groß wird. Dafür hat nicht nur Microsoft sein Passport-Netzwerk [http://passport.net ] , inzwischen auch Windows LiveID genannt, geschaffen, sondern es existieren auch offene Protokolle und Services wie TypeKey und OpenID.
Authentifizierung sollte dabei nicht mit Autorisation verwechselt werden. Ersteres stellt die Identität eines Besuchers fest, während Autorisation den benutzerabhängigen Zugriff auf Ressourcen aller Art meint. Eine klare Trennung in der Applikation stellt sicher, dass der jeweils benutzte Ansatz zur Lösung des Problems später ausgetauscht werden kann.
Stellen Sie sich den Zugriff auf einen Artikel einer Webseite vor, für dessen Betrachtung der Besucher zahlen muss. Die Identifikation durch einen gewöhnlichen Log-in meint die Authentifizierung gegenüber der Webseite. Nachdem der Besucher authentifiziert ist, muss beim eigentlichen Zugriff auf den Artikel geprüft werden, ob er auch autorisiert ist, diesen zu betrachten. In diesem Beispiel hängt dies davon ab, ob er den notwendigen Betrag bereits gezahlt hat. Für die Autorisation ist die Authentication-Komponente nicht zuständig.
11.1 Die Authentication-Komponente 

Die Authentication-Komponente bietet Unterstützung für verschiedenste Authentifizierungsmechanismen. Neben den zentralen Mechanismen, bei denen die genauen Zugangsdaten der Applikation selbst nicht bekannt sind, stehen noch lokale Mechanismen zur Verfügung. Über einen treiberbasierten Ansatz lässt sich die Komponente leicht um weitere eigene Authentifizierungsmechanismen erweitern.
- Zentrale/dezentrale Mechanismen:OpenID OpenID ist ein zentrales System, das von dem Gründer von LiveJournal, Brad Fitzpatrick, entwickelt worden ist. Jeder kann einen OpenID-Server betreiben, wobei der Benutzer dem Betreiber des Servers vertrauen sollte, dass dieser mit den eigenen Daten vertraulich und im Sinne des Datenschutzes umgeht. Zur Demonstration wird in der Beispielapplikation der über die deutschen Datenschutzbedingungen hinausgehende vertrauliche Service http:// xlogon.net von Boris Erdmann verwendet.
- TypeKey Ebenfalls ein zentraler Service, der ursprünglich von Six Apart entwickelt wurde, um Benutzern mit nur einem Account das Kommentieren in vielen Blogs zu ermöglichen, ohne sich für jedes Blog erneut Benutzernamen und Passwort merken zu müssen.
- Lokale Mechanismen: htpasswd Authentifiziert den Besucher gegen die User-Passwort-Kombinationen, die in passwd-Dateien angegeben sind und zum Beispiel häufig von Webservern für einfaches und schnelles Anlegen von neuen Benutzern in Textdateien verwendet werden.
- LDAP Wohl das bekannteste Authentifizierungsbackend, das besonders häufig in größeren Institutionen und Unternehmen zur zentralen Verwaltung von Benutzern verwendet wird.
- Database Das AuthenticationDatabaseTiein bietet die Möglichkeit, gegen die von der Database-Komponente unterstützten relationalen Datenbankmanagementsysteme zu authentifizieren. Konfigurierbar können dabei die Benutzerdaten, wie in Abschnitt 11.3, »Benutzer in der Datenbank«, gezeigt wird, in nahezu beliebigen Tabellen abgelegt sein.




Ihre Meinung






