[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • REX 5: Admin im Frontend
Seite 1 von 1

REX 5: Admin im Frontend

Verfasst: 1. Jun 2016, 11:46
von chip
Hallo,

wie kann ich am schnellsten herausfinden, ob der Redaxo-Admin gerade im Frontend eine Seite anschaut (also im Template überprüfen)?

Alternativ: Wie kann ich herausfinden, mit welchem Rolle/Rechteset ein Benutzer gerade durchs Frontend klickt? Ich meine damit explizit die Standard-benutzerverwaltung des Backends von REDAXO.

Vielen lieben Dank für eure Hinweise!

Re: REX 5: Admin im Frontend

Verfasst: 1. Jun 2016, 12:01
von Gregor.Harlan

Code: Alles auswählen

<?php

// ist überhaupt jemand eingeloggt:
if (rex_backend_login::hasSession()) {

}

// ist ein User eingeloggt mit bestimmten Rechten:
$user = rex_backend_login::createUser();
// statt isAdmin geht auch hasPerm(..), getValue('role')
if ($user && $user->isAdmin()) {

}
 

Re: REX 5: Admin im Frontend

Verfasst: 1. Jun 2016, 12:05
von chip
Hallo Gregor,

vielen Dank für deine Hilfe.

Wo finde ich solche Code-Schnippsel denn, um nicht ständig im Forum nachfragen zu müssen?

Re: REX 5: Admin im Frontend

Verfasst: 1. Jun 2016, 12:19
von Gregor.Harlan
Berechtigte Frage..

Man kann hier schauen: http://doku.redaxo.sioweb.de/5.0/advanced/
Die Doku ist aber im Aufbau (da sind alle aufgerufen mitzuhelfen).

Ansonsten kann man auch hier stöbern: http://www.redaxo.org/docs/master/
Oder halt direkt in den Klassen.

Weitere Möglichkeit wäre, in Addons zu schauen, wie die Dinge lösen.

Und ansonsten halt doch hier fragen, dafür ist das Forum ja schließlich immer noch da.

Re: REX 5: Admin im Frontend

Verfasst: 5. Jul 2016, 11:41
von Hatori
Moin,
irgendwie hab ich damit noch ein Verständnisproblem :oops:

Ich logge mich ja auf der Seite mit dem Ycom-AddOn ein. Wie "merkt" denn nun das System, dass ich auch der Admin bin oder - wenn es jemand anders ist - z.B. jemand mit Redakteursrechten? Muss man sich dann ins Backend einloggen? Das kann ich machen, aber ich will ja nun eigentlich alles andere aus dem Backend raushalten.
Mein Account steht im Backend drin, wie kriege ich denn da jemand anderes rein ohne ihn nach seinem Passwort zu fragen? Könnte ich direkt in der Datenbank machen, seinen Benutzernamen und Passwort aus Ycom in User kopieren, aber das kann doch irgendwie nicht der Sinn sein.
Das es so nicht ist, ist mir klar, mir fehlt nur irgendwie eine Vorstellung davon, wie das gehen soll.
Vielleicht kann mir das mal jemand ganz einfach und kurz erklären.

Re: REX 5: Admin im Frontend

Verfasst: 5. Jul 2016, 13:02
von Ingo
Hatori hat geschrieben:Vielleicht kann mir das mal jemand ganz einfach und kurz erklären.
Vielleicht kannst du mal ganz einfach und kurz erklären, was du überhaupt vorhast.

Re: REX 5: Admin im Frontend

Verfasst: 5. Jul 2016, 13:40
von Hatori
Ingo hat geschrieben:
Hatori hat geschrieben:Vielleicht kann mir das mal jemand ganz einfach und kurz erklären.
Vielleicht kannst du mal ganz einfach und kurz erklären, was du überhaupt vorhast.
Steht doch da oben :wink:

Ok, folgendes Szenario:
Ich erstelle ein Formular zur Eingabe von irgendwas (fürs Frontend) und erstelle in der Navigation des Frontends einen entsprechenden Link.
Mit diesem Formular soll aber nur der Admin und/oder ein Redakteur arbeiten können, alle anderen werden auf die "Unbefugt-Seite" geschubst (oder kriegen den Link gar nicht zu sehen).
Nun muss ich ja aber dem Frontend sagen, wer Admin bzw. Redakteur ist. Die Benutzer stehen aber doch alle nur in Ycom in der Tabelle Community User (außer der Admin, der steht logischerweise auch im Backend unter Benutzer).

Mir ist nun nicht klar, wie ich die Benutzer aus Ycom in eine Rolle kriege (wahrscheinlich gar nicht, die müssen wohl in Benutzer im Backend), also wie ich dem Frontend erkläre, wer was darf.

Re: REX 5: Admin im Frontend

Verfasst: 5. Jul 2016, 14:02
von Thomas.Blum
Die Benutzerverwaltung im Backend und die Verwaltung der YCom-Benutzer haben nichts miteinander zu tun. Auch eine Verknüpfung untereinander ist nicht vorhanden. Das eine sind die Backenduser das andere sind User die sich nur über das Frontend einloggen dürfen. Willst du, dass sich ein Backendadmin auch im Frontend einloggen kann, musst du ihn auch in der YForm Tabelle anlegen und eine entsprechende Gruppe auswählen. Wie du die Gruppen definierst und was diese Gruppe darf muss du alles entscheiden. Achso, ich impliziere hier unterschwellig auch wieder was. Was, dass wirst du mir sicher gleich schreiben.

Re: REX 5: Admin im Frontend

Verfasst: 5. Jul 2016, 23:14
von Hatori
grins ... Nein, hier ist nix zu implizieren :wink:
Nur hilft mir das im Verständnis nicht weiter. Das die eine Sorte User nichts mit den anderen zu tun haben, ist klar. Die Gruppen, die Zugehörigkeit, der Schutz der Seiten über die Gruppen ... alles klar und ist auch eingestellt und funktioniert wunderbar.

Dass ich einen User fürs Backend eintragen muss, scheint mir auch klar. Da er nicht ins Backend soll, sondern nur im Frontend z.B. einen Blog-Eintrag schreiben können soll, muss er nichtmal das Passwort wissen. Ich würde also einfach seinen Benutzernamen ( = Login) nehmen, den ins Backend als Benutzer eintragen und ihm eine Rolle verpassen. Soweit richtig?

Wenn bis hierhin richtig, wie gehts dann weiter? Wie teile ich dem Frontend jetzt mit, dass der Typ, der da gerade eingeloggt hat, etwas darf, was andere nicht dürfen? Oder das es ganz und gar der Admin ist, der alles darf?
Klar, man könnte nun auch in Ycom eine Gruppe Redakteure anlege und die dürfen dann das Formular ausfüllen. Aber wozu sind dann die Rollen da? Oder sind die nur für Leute, die auch tatsächlich ins Backend rein dürfen?

Re: REX 5: Admin im Frontend

Verfasst: 6. Jul 2016, 08:05
von Thomas.Blum
Hatori hat geschrieben:Dass ich einen User fürs Backend eintragen muss, scheint mir auch klar. Da er nicht ins Backend soll, sondern nur im Frontend z.B. einen Blog-Eintrag schreiben können soll, muss er nichtmal das Passwort wissen. Ich würde also einfach seinen Benutzernamen ( = Login) nehmen, den ins Backend als Benutzer eintragen und ihm eine Rolle verpassen. Soweit richtig?
Nein. Den User, den du unter "Benutzer" anlegst und ihm eine Rolle zuweist gilt nur für das Backend. Soll der User nicht ins Backend, dann brauchst du dort keinen anlegen.

Die User für das Frontend werden in der Tabelle "Community User" angelegt. Die Community sollte natürlich installiert sein. Im eigentlichen Thread ging es hier um etwas anderes. Chip wollte wissen, wie man im Frontend erfährt, ob sich jemand tatsächlich im Backend eingeloggt hat und entsprechend im Frontend etwas auswerten/darstellen.

Re: REX 5: Admin im Frontend

Verfasst: 8. Jul 2016, 17:15
von Hatori
Sorry, hatte die letzten Tage viel zu tun.

Das heißt also, Community User macht mir alles fürs Frontend. Gut, das kann ich ;)
Thomas.Blum hat geschrieben:Im eigentlichen Thread ging es hier um etwas anderes. Chip wollte wissen, wie man im Frontend erfährt, ob sich jemand tatsächlich im Backend eingeloggt hat und entsprechend im Frontend etwas auswerten/darstellen.
Ja, das war es ja, was mich verwirrt hat. Nachdem ich nun aber Klarheit habe, wie ich das regele, wird alles gut :wink: