Zum Inhalt springen

$GLOBALS['BE_USER']->user["username"] nach Einloggen im BE nicht gesetzt

Erstellt am 28. Januar 2009 · 4 Antworten · letzte Antwort am 31. August 2010

Tags: PHP, Frage

Floater ·

Hallo,

ich möchte im FE per FTP prüfen, ob ein User im BE eingeloggt ist.

Bin ich als ADMIN im BE eingeloggt, dann ist im FE "$GLOBALS['BE_USER']->user["username"]" gesetzt.

Bin ich aber als Redakteur, als NICHT-ADMIN im BE eingeloggt, so bleibt "$GLOBALS['BE_USER']->user["username"]" leer. Das ganze Array "$GLOBALS['BE_USER']->user" ist dann leer.

1. Woran liegt das ?
2. Wie kann ich trotzdem im FE per php abfangen, ob ein USER im BE eingeloggt ist?

Gruß,
Floater

Floater ·

Ich habe statt der PHP-Version mal mit TS gearbeitet.

Auch

[globalVar = TSFE : beUserLogin > 0]

wird in dem Fall nicht ausgeführt.

Dann habe ich festgestellt, dass der BE-USER auf einigen Seiten weder durch die PHP-Abfrage noch durch die TS-Abfrage gesetzt ist.
Ich hatte vermutet, dass mein eigenen PHP-Skript da irgendetwas überschreiben könnte. Aber selbst auf "normalen" Inhaltsseiten tritt es auf, dass der BE-USER nicht gesetzt ist - wenn man als NICHT-ADMIN im BE eingeloggt ist.

Gruß,
Floater

Floater ·

Den "Fehler" habe ich nun gefunden?
DAs die o.g. Daten nicht abfragbar waren, bzw. nicht gesetzt waren für NICHT-ADMINS hing ganz einfach damit zusammen, dass NICHT-ADMINS auf diese Seiten keinen Zugriff haben.
Nachdem ich die Zugriffsrechte geändert habe, kann ich auch auf den genannten Seiten die gewünschten Variablen abfragen.

Dass diese Werte von den Zugriffsrechten abhängen, wusste ich bisher nicht und hätte ich auch nicht gedacht.

Gruß,
Floater

Teilzeitphilosoph ·

Auch wenn´s gelöst ist, hätte ich da ne passende Frage zu:
Weiß zufällig jemand, warum

echo( is_object($GLOBALS['BE_USER']));

auf meinem lokalen System läuft aber auf dem Firmenserver nicht? Da ist das komplett leer, obwohl ich auf beiden Servern im Backend eingeloggt bin.