Quote:
Originally Posted by florian0
Wieso stehen deine Permissions überhaupt in der Session? Die Session sollte lediglich den eingeloggten Nutzer zuverlässig identifzieren, aber ihn nicht beschreiben.
Die Session sollte nur Session-relevante Daten wie Login-Zeitpunkt, ggf. IP und andere Identifikationsmerkmale abspeichern. Rechte, Bilder, etc. sind ein Fall für die Datenbank. Ein Query mehr oder weniger tut da nicht weh.
Natürlich kannst du auch die Session des geändeten Benutzers beenden. Dazu brauchst du lediglich eine Sessionliste parallel in der Datenbank, in der die PHP-Sessions ebenso eingetragen werden. Dein CMS muss dann eben bei jedem Aufruf in der DB prüfen, ob die PHP-Session noch aktiv ist.
|
Hab bisher den User IMMER über die Session beschrieben, aber nie wirklich genutzt. Im nachhinein stellt sich das vielleicht doch sogar als blöd heraus.
Ich werd' mal schauen was ich machen kann, danke!
Edit:
Habs umgesetzt. Falls es wem hilft: In meiner Query nutze ich immer den Faktor der userid und fetche dann die Ergebnise und kann sie dann ausgeben. Bspw:
PHP Code:
<?php
$userquery = $system->query("SELECT * FROM anime_users WHERE id = '". $_SESSION['id'] . "'");
$user = $userquery->fetch_assoc();
echo $user['rank'];
?>