phpbar.de logo

Mailinglisten-Archive

[php] Fw: [php] Lange Leitung

[php] Fw: [php] Lange Leitung

Alex Killing alexkill_(at)_mail.online-club.de
Fri, 09 Jul 1999 20:40:45 +0200


Hallo,

Kristian Köhntopp schrieb:
> [...]
> "Bitte geben Sie Ihren Nachnamen und Ihr Kennwort ein:
> 
> [Logo]
> 
>     Name    :
>     Vorname :
>     Telefon :
>     Kennwort:
>                      [Hilfe] [ Log in ]
> 
>     Wenn Ihr Nachname nicht eindeutig ist ("Müller"), geben Sie
>     bitte ihren Vornamen und ggf. auch ihre Durchwahlnummer mit ein."
> 
> HTTP Authentication scheitert hier, weil man als Designer keine Kontrolle
> über das benutzerinterface während der Anmeldung hat: Weder kann man dort
> die Anzahl und Namen der Fehler kontrollieren, noch kann man eine
> Benutzerführung mit Hilfe implementieren noch hat man dort die Möglichkeit,
> CI/CD-konform zu arbeiten.

Na ein Glück ! Solche Anmeldungen der obigen Art gehören ja wohl
verboten. Ich geb doch nicht bei jeder Anmeldung meine halbe Adresse
ein, so was hab ich ja noch nie gesehen. Ich weiss nicht bei wieviel
verschiedenen Systemen ich mich schon angemeldet habe, aber es war immer
das gleiche : Benutzerkennung - Passwort. Was soll diese Abstrusität ?
Das ganze wird ja extrem fehleranfällig. Man heiratet ja womöglich und
heißt plötzlich ganz anders. Oder bekommt eine andere Telefonnumer oder
gibt sie plötzlich mit Vorwahl an. Der ganze Summs gehört in die
Benutzerstammdaten und in ein eigenes Formular, mit Anmeldung hat das
nichts zu tun. Und dieses kleine http-auth-Fenster ist nicht CI/CD
konform - soll ich denn in jeder Sicherheitsabfrage noch ein Firmenlogo
unterbringen ?

> Diese Nachteile existieren bei PHPLIB Authentication nicht. Zudem ist
> der Authentisierungsprozeß durch Callbacks implementiert und kann
> daher vollständig durch den Designer kontrolliert werden: Je nach
> Anforderung können Klartext- oder Challenge-Response-Mechanismen
> implementiert werden, es kann gehen ASCII-Dateien, gegen beliebige
> Datenbanktabellen, gegen LDAP oder gegen Samba authentisiert werden.

Nach einem HTTP-Auth, hab ich alles was ich brauch. Der DB Zugriff, oder
das nachlesen in der ASCII-Datei <grusel>, erfordert dann nochmal 3
Zeilen Code. Ich muß aber zugeben, daß ich keine Ahnung habe was ein
Challenge-Response-Mechanismus ist.

> Eine Aufgabe von class Auth in PHPLIB ist es, den variablen, durch
> den Designer definierten Primärschlüssel zu normalisieren, d.h.
> eine Schlüsseltransformation durchzuführen. Das geschieht durch
> Lookup in der Tabelle auth_user, wo jedem "menschenlesbaren"
> zusammengesetzten Primärschlüssel (z.B. Name, Vorname, Telefon)
> ein "maschinengerechter" äquivalenter Schlüssel zugeordnet wird
> (die UID, die nur intern verwendet wird und niemals über das Netz
> kommuniziert wird).

Das klingt sehr aufregend, ist aber in meinen Augen ein überflüssiger
Vorgang.

> Anhand der Sessionkennung, aber unabhängig davon, wie sie übertragen wird,
> unterscheidet PHPLIB verschiedene Anwender und speichert für jeden Anwender,
> ob er sich schon mal angemeldet hat und wann. Die Sessionkennung wird
> beim ersten Zugriff auf die Seite neu erzeugt und beim Beenden des
> Browsers weggeschmissen. Sie wird nie gespeichert. Das Verfahren ist
> ortunabhängig (und nicht auf eingeschaltete Netscape-Cookies angewiesen).

Eine Session ist imo ein ziemlich willkürliches Objekt. Das Grundproblem
war doch, wie kann ich irgendwelche Benutzerspezifischen Einstellungen
oder Daten von einem Webseitenaufruf zum nächsten retten, ohne daß ich
alles per GET/POST mitschleppe. Also hieß es : Sessionvariable. Warum
heißt es nicht Benutzerumgebung/Benutzervariable ? Wenn sich ein
Benutzer einmal per http-auth angemeldet hat, kann ich alles, was mich
interessiert in der DB speichern und auslesen über Webseitenzugriffe
hinweg, sogar unabhängig von Ort/Zeit. Da braucht man nur eine
DB-Tabelle, nur ein UPDATE um Daten reinzuschreiben und nur ein SELECT
um alle Benutzerspezifischen Variablen in einem Array zu haben. Was ist
der zusätzliche Nutzen einer Session ? Wenn ich Daten (oder Anmeldungen)
zeitabhängig verfallen lassen will, muß ich halt noch ein Datum
mitspeichern, das wäre dann nochmal eine Zeile mehr.

Ok, eine Anwendung gibt es dann doch : die "anonyme Session". Da kann
man dann Ralfs oder Deinen Lösungsvorschlag nehmen. Meine Einwände hier
richten sich übrigens nicht gegen PHPLIB, die bietet einem ja noch
einiges mehr. Aber der Anfang des Threads (erinnert sich noch jemand ?)
war ein Authentifikationsproblem...

Gruss
Alex

-- 
*****************************************
*** Alex Killing *** http://4real.de/ ***
*****************************************


php::bar PHP Wiki   -   Listenarchive