Kurz: Sollte eine Session die Eigenschaft eines Logins sein oder sollte der Login von der Session erben?
Lang:
Ich schreibe gerade meine erste Login-Klasse. Für einen Login brauche ich eine Session, eine Login-Form, einen internen Bereich und eine Datenbank. Alle grundlegenden Tutorials, die ich gefunden habe, mischen das alles zusammen und heraus kommt ein funktionierendes Skript, das ich aber niemals warten oder erweitern wollen würde.
Angefangen habe ich jetzt mit einer Session-Klasse, deren Instanzierung die beliebte Zeile session_start() am Anfang eines Skriptes ersetzt. Sie startet erstmal nur eine Session. Allerdings müssen in eine Session ja einige Variablen rein deren Werte gefiltert werden sollten, sobald sie in Kontakt mit einer Datenbank kommen.
Der Login besteht im Allgemeinen aus Benutzername und Passwort. Dazu gehört in der Datenbank meistens noch eine Benutzer-ID. All diese Variablen sollten mit großer Sorgfalt behandelt werden, weil sie alle entweder von der Datenbank kommen oder vom Benutzer bzw demjenigen, der sich für einen Benutzer hält.
Was mir Kopfzerbrechen bereitet, ist die Verbindung von Session und Login. Meine konkrete Frage: Sollte der Login von der Session erben (weil er sie erweitert und zu den "Gast"-Rechten und -Funktionen noch "Benutzer"-Rechte und Funktionen kommen) oder sollte die Session eine Eigenschaft der Login-Klasse sein, weil der Login die Session nur "benutzt" (weil das die vielzitierte "Zwiebelschale" um Server und Datenbank mehr repräsentiert)?
Abgesehen von den (eingeklammerten) Pros habe ich keine weiteren Argumente für oder wider das eine oder das andere finden können. Ich versuche, mir vorher die bessere Struktur rauszupicken, um dann nicht alles umschreiben zu müssen.
mfg,
Buffi
Lang:
Ich schreibe gerade meine erste Login-Klasse. Für einen Login brauche ich eine Session, eine Login-Form, einen internen Bereich und eine Datenbank. Alle grundlegenden Tutorials, die ich gefunden habe, mischen das alles zusammen und heraus kommt ein funktionierendes Skript, das ich aber niemals warten oder erweitern wollen würde.
Angefangen habe ich jetzt mit einer Session-Klasse, deren Instanzierung die beliebte Zeile session_start() am Anfang eines Skriptes ersetzt. Sie startet erstmal nur eine Session. Allerdings müssen in eine Session ja einige Variablen rein deren Werte gefiltert werden sollten, sobald sie in Kontakt mit einer Datenbank kommen.
Der Login besteht im Allgemeinen aus Benutzername und Passwort. Dazu gehört in der Datenbank meistens noch eine Benutzer-ID. All diese Variablen sollten mit großer Sorgfalt behandelt werden, weil sie alle entweder von der Datenbank kommen oder vom Benutzer bzw demjenigen, der sich für einen Benutzer hält.
Was mir Kopfzerbrechen bereitet, ist die Verbindung von Session und Login. Meine konkrete Frage: Sollte der Login von der Session erben (weil er sie erweitert und zu den "Gast"-Rechten und -Funktionen noch "Benutzer"-Rechte und Funktionen kommen) oder sollte die Session eine Eigenschaft der Login-Klasse sein, weil der Login die Session nur "benutzt" (weil das die vielzitierte "Zwiebelschale" um Server und Datenbank mehr repräsentiert)?
Abgesehen von den (eingeklammerten) Pros habe ich keine weiteren Argumente für oder wider das eine oder das andere finden können. Ich versuche, mir vorher die bessere Struktur rauszupicken, um dann nicht alles umschreiben zu müssen.
mfg,
Buffi
Kommentar