MetaModels Workshop in Berlin
Ergebnis 1 bis 9 von 9

Thema: 3.06 - Seite im Frontend nur für angemeldete BENUTZER sichtbar machen

  1. #1
    Contao-Nutzer
    Registriert seit
    30.09.2012.
    Beiträge
    12

    Standard 3.06 - Seite im Frontend nur für angemeldete BENUTZER sichtbar machen

    Moin Moin,

    nach vergeblicher Suche hier im Forum habe ich folgende Frage:

    Gibt es in Contao 3.06 die Möglichkeit, eine Seite im Frontend nur für angemeldete BENUTZER sichtbar zu machen?

    Hintergrund:
    Ich erstelle gerade eine Internetseite für einen Pfarreienverbund aus 6 Gemeinden. Da die Gemeindemitarbeiter in der Regel nur über sehr rudimentäre PC-Kenntnisse verfügen, möchte ich mit dem FAQ-Modul eine Extraseite mit einer ausführlichen Beschreibung der einzelnen Arbeitsschritte erstellen, die im Frontend nur dann angezeigt wird, wenn sich der BENUTZER im Backend angemeldet hat.

    In der Seitenstruktur kann ich zwar einen Zugriffsschutz für Mitglieder einrichten, aber eine entsprechende Möglichkeit für BENUTZER habe ich in den vielen Einstellungsoptionen von Contao bisher leider nicht finden können. Habe ich da irgendwo etwas übersehen?

  2. #2
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.014
    User beschenken
    Wunschliste

    Standard

    Nö, es wird nun mal strikt zwischen Frontend und Backend Nutzern unterschieden bzw. zwischen Frontend und Backend.

    Aber es gibt Erweiterungen die so etwas wie Hinweise oder Anleitungen im Backend ablegen können, weiß jetzt aber die Namen nicht und ob die schon für Contao 3 verfügbar sind.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  3. #3
    Contao-Nutzer
    Registriert seit
    30.09.2012.
    Beiträge
    12

    Standard

    Zitat Zitat von BugBuster Beitrag anzeigen
    Nö, es wird nun mal strikt zwischen Frontend und Backend Nutzern unterschieden bzw. zwischen Frontend und Backend.

    Aber es gibt Erweiterungen die so etwas wie Hinweise oder Anleitungen im Backend ablegen können, weiß jetzt aber die Namen nicht und ob die schon für Contao 3 verfügbar sind.
    Naja, ich arbeite zwar erst kurze Zeit mit Contao, aber der Unterschied zwischen "Mitglieder" und "Benutzer" ist mir schon klar.

    In diesem speziellen Fall gäbe es zwar die Möglichkeit, die ca. 10 Benutzer auch in die Mitgliederliste aufzunehmen und die "Hilfeseite" zum Umgang mit dem Backend für Mitglieder freizugeben, aber erfahrungsgemäß gäbe es spätestens beim ersten Passwort- bzw. Benutzerwechsel Probleme. Zudem wäre es etwas mühsam, den Benutzern zu erklären, das sie sich zweimal anmelden müssen wenn sie diese "Hilfeseite" sehen möchten.

    Inzwischen habe ich eine "quik-and-dirty-Lösung" gefunden:

    1. Die "Hilfeseite" in der Seitenstruktur anlegen, von der Suche und der Sitemap ausschließen, im Menü verstecken und dort das Modul "FAQ-Liste" einbauen.

    2. Im Template "nav_default.html5" in der vorletzten Zeile die Existenz des Cookies "BE_USER_AUTH" testen und ggf. den Link zur FAQ-Seite anzeigen:

    <?php if (isset($_COOKIE["BE_USER_AUTH"]) { ?>
    <li><a href="fragen-und-antworten.html" title="Fragen und Antworten">Fragen und Antworten</a></li>
    <?php } ?>

    3. Im Template "fe_page.html5" in der erste Zeile überprüfen, ob ein Benutzer angemeldet ist und die "Hilfeseite" aufgerufen wird. Wenn kein Cookie gesetzt ist, dann wird der Aufruf auf die "403-Seite" umgeleitet.

    <?php if (!isset($_COOKIE["BE_USER_AUTH"]) && (strpos($this->replaceInsertTags('{{env::request}}'), 'fragen-und-antworten') !== false)) $this->redirect("http://www.meine-domain.de/zugriff-verweigert.html"); ?>

    Diese Lösung funktioniert zwar, ist aber irgenwie "von hinten durch die Bust ins Auge geschossen". Es wird nur die Existens eines Cookies Namens "BE_USER_AUTH" überprüft, der Inhalt des Cookies könnte beliebig sein.

    Es wundert mich ein wenig, das es im CMS Contao scheinbar keine "bordeigenen" Mittel gibt, einen Inhalt nur für registrierte und angemeldete Benutzer anzuzeigen.

  4. #4
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.014
    User beschenken
    Wunschliste

    Standard

    Wenn dir der Unterschied klar ist wie du schreibst, wieso wundert es dich dann das es so eine Funktion wie du sie brauchst nicht gibt?
    Es ist einfach nicht nötig, weil so eine Anwendung schlicht ungewöhnlich ist.

    Es gäbe zwei Möglichkeiten mit Boardmitteln, aber ob das die Nutzer verstehen musst du wissen.

    Im Frontend eine Seite anlegen, diese schützen per FE Login.
    Nun gibt es zwei Möglichkeiten.
    a) der Backend Nutzer loggt sich parallel auch im Frontend ein
    b) der Backend Nutzer lässt sich per Fontendvorschau und Auswahl des Frontend Nutzers die FAQ Seite anzeigen.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  5. #5
    Contao-Nutzer
    Registriert seit
    30.09.2012.
    Beiträge
    12

    Standard

    Zitat Zitat von BugBuster Beitrag anzeigen
    Wenn dir der Unterschied klar ist wie du schreibst, wieso wundert es dich dann das es so eine Funktion wie du sie brauchst nicht gibt?
    Es ist einfach nicht nötig, weil so eine Anwendung schlicht ungewöhnlich ist.

    Es gäbe zwei Möglichkeiten mit Boardmitteln, aber ob das die Nutzer verstehen musst du wissen.

    Im Frontend eine Seite anlegen, diese schützen per FE Login.
    Nun gibt es zwei Möglichkeiten.
    a) der Backend Nutzer loggt sich parallel auch im Frontend ein
    b) der Backend Nutzer lässt sich per Fontendvorschau und Auswahl des Frontend Nutzers die FAQ Seite anzeigen.
    Es mag zwar ungewöhlich sein, im Frontend auch einen geschützten Bereich für Benutzer anzulegen, aber es sollte dennoch möglich sein. In diesem speziellen Fall möchte ich einfach eine Art Gebrauchsanleitung in Form einer FAQ-Liste im Frontend für die Benutzer zugänglich machen.

    Vorschlag a) hatte ich im Posting #3 schon verworfen. Das wäre nur dann praktikabel, wenn ein Beutzer AUTOMATISCH auch in der Mitgliederliste angelegt und beim Login im Backend auch AUTOMATISCH im Frontend angemeldet würde. "Zu Fuß" doppelte Listen zu pflegen und sich doppelt anzumelden ist zu umständlich und zudem eine potentielle Fehlerquelle, die ich möglichst vermeiden möchte.

    Vorschlag b) hatte ich auch schon auf dem Schirm.
    Einfach die "Hilfeseite" im Menü verstecken und die Benutzer bitten, in den FAQ zu blättern und dort die Frontend-Vorschau zu nutzen. Hab's recht schnell wieder verworfen - zu umständlich.
    Es wäre auch möglich den Benutzern den Link zur versteckten Seite mitzuteilen, aber ich befürchte, das der Link in der Hektik des Büroalltags recht schnell in Vergessenheit gerät. Zudem gäbe es keinen wirklichen Zugriffsschutz. Da bevorzuge ich dann sicherheitshalber doch lieber einen fest eingebauten "Knopf".

    Die jetzige Lösung ist vermutlich ein wenig umständlich - es gibt sicherlich einen eleganteren Weg, den Login-Staus eines Besuchers abzufragen und dann eine entsprechende Aktion auszulösen, ich habe sie aber bis jetzt noch nicht gefunden.

    Vielen Dank für die Rückmeldungen und ein schönes Wochenende.

  6. #6
    Contao-Fan Avatar von RainerG
    Registriert seit
    22.05.2011.
    Ort
    Hannover
    Beiträge
    707

    Standard

    Ich habe ähnliches (allerdings mit 2.11.x) gelöst, indem ich Helpdesk im Backend angelegt habe.
    Dort habe ich dann Anleitungen und ähnliches hinterlegt. Das klappt soweit ganz prima.

    Ich weiß jetzt allerdings nicht genau, wie weit Helpdesk für Contao 3.x jetzt ist.
    Rainer G. aus H.
    www.BunteReisebilder.de

  7. #7
    Contao-Nutzer
    Registriert seit
    30.09.2012.
    Beiträge
    12

    Standard

    Vielen Dank für den Hinweis - die Lösung wäre sogar komfortabler als das FAQ-Modul.
    Leider wird es wohl laut Posting im Erweiterungsforum für die 3.0x keine Version geben, erst wieder für 3.1. Das wird vermutlich noch eine Weile dauern.

  8. #8
    Contao-Nutzer Avatar von Philo
    Registriert seit
    26.02.2013.
    Beiträge
    165

    Standard

    Ich hatte das gleiche Problem, aber das konnte ich relativ einfach beseitigen.

    1) Du legst die Benutzer mit den gleichen Daten als Mitglieder an.
    2) Du erstellst eine Mitgliedergruppe und für die schaltest Du Deine Hilfe frei.
    fertig

    Ich habe das so gelöst, dass sobald sich meine Pappenheimer anmelden am rechten Rand ein "Einschulung" Link zu sehen ist und von da kommen sie dann bequem zu den FAQ. Am besten machst Du Erklärungen mit Videotutorials, bei mir klappt das super ... WENN sie sich das mal ansehen und nicht mich gleich fragen
    ich verwende "Contao Open Source CMS 3.0.5"

  9. #9
    Contao-Nutzer
    Registriert seit
    15.03.2010.
    Ort
    AT
    Beiträge
    140

    Standard

    Alt aber vll. hilft es jemandem wenn man direkt im Code/Template arbeitet...
    Wie das in Contao 3.06 war kann ich grad nicht sagen aber zumindest in 3.5.27 kann man im Frontend prüfen ob der BackendUser eingeloggt ist:

    PHP-Code:
    // Vom Template für Google Analytics
    if ( !(!BE_USER_LOGGED_IN && sha1(session_id() . (!Config::get('disableIpCheck') ? Environment::get('ip') : '') . 'BE_USER_AUTH') != Input::cookie('BE_USER_AUTH'))  )
        
    $beUserIsLoggedIn true;
    else
        
    $beUserIsLoggedIn false;

    if (
    $beUserIsLoggedIn)
        echo 
    "Zeige diesen Inhalt im Frontend an, wenn der BE-User eingeloggt ist.";
    else
        echo 
    "Verberge diesen Inhalt im FE wenn der BE-User nicht eingeloggt ist."

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •