Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 20. Februar 2014 11:12

Tranquillius
probiert CMSMS aus
Ort: Leipzig
Registriert: 10. September 2013
Beiträge: 52

Re:

Ich wollte das Newsmodul gewisse News nur nach dem Login für bestimmte Gruppen anzeigen lassen. Meine derzeitige Umsetzung mit eben einer Sicherheitslücke:

2 Kategorien für die News. "Extern" und "Intern". "Intern" ist Kindgruppe von "Extern".

2 Seiten mit Advanced Content.

  • Die externe Newsseite mit Inhalt: {news category="extern"} (wird nicht im Menü angezeigt wenn eingeloggt.

  • Die interne Newsseite mit Inhalt: {news category="intern*"} Zeigt ALLE News an (Eltern und Kindkategorie) - Anzeige wenn eingeloggt.

Abfrage im Detail-Template:

{if $entry->category == 'Intern' && !tbtools::isLoggedIn()}
     <h1 class="aligncenter">Zugriff verweigert</h1>
{else}

TEMPLATE

{/if}

Kategorieauswahl usw. ist in den Templates nicht umgesetzt.

Neuregistrierte Nutzer (via Selfregistration) werden automatisch der Gruppe "nogroup" zugewiesen, damit sehen sie keine Inhaltsseite via Advanced Content (die interne Newsseite wird für die Gruppe nicht angezeigt).

ABER - DAS EIGENTLICHE PROBLEM - DIE FRAGE HIER ANS FORUM

Nun gibt es eine Möglichkeit an die News zu kommen, wenn man nach der Registrierung sich einloggt und danach über die Suche sucht. tbtools::isLoggedIn() erfasst ja nicht die Benutzergruppe, sondern nur den Login-Status. Gibt es eine Möglichkeit die Gruppe abzufragen. Selfreg braucht ja irgendwie eine Default-Dummie-Gruppe. Oder gibt es einen anderen Lösungsweg?

Beitrag geändert von Tranquillius (20. Februar 2014 11:13)

Offline

#2 20. Februar 2014 11:34

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.058

Re:

Dazu gibt es die Funktion tbtools::hasFeuGroupAccess('Namen,der,Gruppen'):

{if tbtools::hasFeuGroupAccess('Gruppe1,Gruppe2,Gruppe3')}

   News

{/if}

Offline

#3 20. Februar 2014 12:13

nockenfell
Moderator
Ort: Lenzburg, Schweiz
Registriert: 09. November 2010
Beiträge: 2.807
Webseite

Re:

Es gibt auch die Funktion

public static final function hasFeuGroupAccess($feugroups = '', $assign = '')

Damit kannst du entsprechend

tbtools::hasFeuGroupAccess('intern')

Abfragen. Die Abfrabe würde ich direkt im News Template drin machen. Entweder sieht er den Text oder eben nicht.


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox, Revisions

Offline

#4 20. Februar 2014 12:45

Tranquillius
probiert CMSMS aus
Ort: Leipzig
Registriert: 10. September 2013
Beiträge: 52

Re:

Perfekt. Jetzt klappt es!

{if $entry->category == 'Intern' && !tbtools::hasFeuGroupAccess('Gruppe1, Gruppe2, Gruppe3')}
     <h1 class="aligncenter">Zugriff verweigert</h1>
{else}
TEMPLATE
{/if}

Und dann noch eine News-Seite ohne Advanced Content und alles ist übersichtlich.

{if tbtools::hasFeuGroupAccess('1,4')} 
   {news category="intern*" pagelimit="3" sortby="news_date"}
{else}
   {news category="extern" pagelimit="3" sortby="news_date"}
{/if}

Beitrag geändert von Tranquillius (20. Februar 2014 13:49)

Offline

Fußzeile des Forums

Powered by FluxBB