Hallo!
Du kannst natürlich die Infos zu dem jeweiligen User bzw. den Gruppenrechten bei jedem Request abfragen. Das verhindert, dass sich ein User mal irgendwann einloggt, die Session unendlich lange aktiv hält, und du ihn administrativ nicht sperren kannst, weil das Ändern seiner Rechte in der DB nie erneut aus der DB gelesen wird, sondern immer noch der Zustand von "anno" in $_SESSION steht.
Darum geht es mir ja. Eine Session sollte ab einem bestimmten "timeout" schon "automatisch" geschlossen werden. Ich dachte mir, dass das Sicherheitstechnisch eine gute Lösung wäre.
Ich würde nur vermeiden wollen, aus der DB anfangs wirklich nur den User auszulesen, und später über die Konstruktion von Gruppen, Modulen und Seiten auch noch einen JOIN hin zu den UserIDs ausführen zu müssen. Ich habe dafür keine harten Belege, aber meine gesammelten Erfahrungswerte sagen mir, dass man die Gruppenzugehörigkeit eines Users an viel mehr Stellen "direkt" brauchen kann, und dass deshalb diese Info direkt mit zum User gehört.
Ja klar, ich möchte die Benutzerdaten auch so zeitig wie möglich erfahren um sie z.b. auch den Modulen zur Verfügung zu stellen. Trotzdem muss ich doch aber eine Gegenprüfung bzgl. der Benutzergruppen/-rechte durchführen. Oder nicht? Ansonsten könnte der Client seinem Cookie doch z.B. einfach eine Gruppe hinzufügen. Das hat dann nichtmal was mit Session-Diebstahl zu tun. Oder versteh ich da was falsch?
Uwe