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

#1 20. Februar 2014 11:12

Tranquillius
probiert CMS/ms aus
Ort: Leipzig
Registriert: 10. September 2013
Beiträge: 52

[GELÖST] Interne News - Zugriff nur für bestimmte FEU-Gruppen

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.437

Re: [GELÖST] Interne News - Zugriff nur für bestimmte FEU-Gruppen

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

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

   News

{/if}

Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#3 20. Februar 2014 12:13

nockenfell
Moderator
Ort: Gontenschwil, Schweiz
Registriert: 09. November 2010
Beiträge: 2.934
Webseite

Re: [GELÖST] Interne News - Zugriff nur für bestimmte FEU-Gruppen

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

Offline

#4 20. Februar 2014 12:45

Tranquillius
probiert CMS/ms aus
Ort: Leipzig
Registriert: 10. September 2013
Beiträge: 52

Re: [GELÖST] Interne News - Zugriff nur für bestimmte FEU-Gruppen

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