Mailinglisten-Archive |
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