Befugnisgruppen und Befugnistemplates

 
Mimi
Benutzer
Avatar
Geschlecht:
Alter: 41
Beiträge: 97
Dabei seit: 05 / 2017
Betreff:

Befugnisgruppen und Befugnistemplates

 · 
Gepostet: 10.06.2025 - 11:11 Uhr  ·  #1
Hi Chris!

Wir haben in meinem Forum einige Gruppen und letzte Woche ergab sich die Notwendigkeit, ein Forum nur für bestimmte User sichtbar zu machen. In Kombination mit den bestehenden Gruppen und den entsprechenden Berechtigungen hab ich vielleicht mehr Zeit in das Thema investiert als nötig gewesen wäre. ;-)
Daher dieser Thread, damit ich vielleicht jetzt einmal das Berechtigungskonzept komplett durchdringe und mir danach eine solche Situation leichter fällt.

Ich habe verstanden, dass im CF4 die Befugnisse pyramidenartig aufgebaut sind und ein Befugnistemplate angewandt auf ein Forum alles entsprechend dem Template überschreibt. Somit wird nichts kombiniert.
So weit, so gut.

Bei mir im Forum ergeben sich folgende Gruppen, in die die User eingeteilt werden.
- Admins: dürfen alles
- Gäste: dürfen nichts, außer ein bestimmtes Thema lesen
- Mitglieder: dürfen alles in dem Mitglieder-Bereich

Dann gibt es zwei "Orga-Gruppen", die bei der Vorbereitung für bestimmte Events helfen. Ferner kann ein Mitglied in beiden Orga-Gruppen sein, daher haben wir eine Kombigruppe für den Fall geschaffen.
- Org SDW
- Org Crop
- Org SDW & Crop

Für die Orga-Gruppen gibt es einen sichtbaren Bereich, der sich "Hinter den Kulissen" nennt. Darin enthalten gibt es dann Unterforen, die z.B. Org SDW oder Org xy-Crop heißen und wo die einzelnen Gruppen berechtigt sind.

Das ist unsere Grundstruktur, also 6 Gruppen.

Und nun kommen die Sachen, die mir bei Anlage immer wieder Probleme bereiten bzw. nach meinem Empfinden zu viel Denkarbeit.

Nun lege ich einen neuen Bereich ABC an, den ein User nur mit bestimmten Berechtigungen sehen soll.
Muss ich dann jede Gruppe (abgesehen von Admin und Gast) einmal klonen und mit ABC ergänzen?

Also:
- Mitglied_ABC
- SDW_ABC
- Crop_ABC und
- SDW&Crop_ABC?

Und wie wäre das weitere Vorgehen, wenn ich jetzt noch einen zweiten "geschlossenen" Bereich im Forum habe, der auch nur mit der entsprechenden Berechtigung sichtbar/nutzbar ist?
Kombiniert sich das dann? Also DEF wäre der neue Bereich:
- Mitglied_DEF und Mitglied_ABC und Mitglied_ABC_DEF
- SDW_ABC und SDW_DEF und SDW_ABC_DEF etc??

Diese "geschlossenen" Bereiche habe ich auf jeden Fall einmal neu im Jahr. Dann kann sich jeder User melden, um ein bestimmtes Event vorzubereiten und diese Vorbereitung soll natürlich nur für diese User sichtbar sein.

Zwei weitere geschlossene Bereiche habe ich ständig, also ABC und DEF.

Wie gehe ich hier am besten vor in Bezug auf die Befugnisgruppen und die entsprechenden Templates?
Mein Gefühl sagt mir, dass ich einmal viel Hirnschmalz investiere und danach eigentlich "nur noch" die Befugnistemplates auf die neuen Foren anwende. Aktuell investiere ich aber immer Hirnschmalz, weil ich das Ganze noch nicht durchdrungen habe, glaub ich. ;-)

Und wie genau wäre das beste Vorgehen, wenn der neue Orga-Bereich im Jahr hinzukommt?
Ich habe auch schon mehrfach zu diesem Thema "versteckte Gruppen" gelesen. Wann wende ich diese denn an bzw. können mir versteckte Gruppen bei meinen Gruppen und Berechtigungen hilfreich sein?

Danke dir im Voraus schon einmal.
Viele Grüße
Mimi
cback
Admin
Avatar
Geschlecht:
Herkunft: Saarland
Alter: 39
Homepage: cback.net
Beiträge: 17726
Dabei seit: 12 / 2003
Betreff:

Re: Befugnisgruppen und Befugnistemplates

 · 
Gepostet: 10.06.2025 - 13:43 Uhr  ·  #2
Hallo Mimi,

Pyramide passt glaube ich auch nicht ganz, vielleicht eine auf dem Kopf stehende Pyramide. :D Ich glaube das mit dem Matrix-System ist am einfachsten zu erklären damit, dass, egal in wie vielen Gruppen Du Mitglied bist, die gewählte Hauptgruppe, die auch Deine Namensfarbe bestimmt, die Gruppe ist, die allein für all Deine Befugnisse verantwortlich ist. Sowohl im Forum als auch in Plugins.

Es gibt ja Systeme (da kommen wir prä-CF System ja auch her), wo Gruppenrechte automatisch kombiniert werden bzw. es sogar zusätzlich noch Userrechte gibt und irgendwann viele die Übersicht verloren haben, wo sie nun Befugnisse einstellen oder warum etwas für jemanden doch nicht ging (oder immer noch ging), was eigentlich schon weg sein sollte. Da über 90% der Foren die Berechtigungen einfach "geschichtet" aufbauen, sprich: User kann am wenigsten, Mod etwas mehr, Admin am meisten - wurde das Gruppenkonzept so gemacht, dass Du auf der Befugnisseite für eine Gruppe wirklich immer 100 % das siehst, was ein User kann oder nicht. Das macht es dann für die häufigsten Anwendungsfälle deutlich leichter. Wenn Du jetzt super komplexe, sich überschreibende Gruppenstrukturen brauchst, ist es aber u.U. zunächst etwas mehr Arbeit. Ich finde den Ansatz allerdings ganz gut und bewährt, weil ich betreue auch Foren mit anderen Systemen und kleine Umstellungen in Berechtigungen sorgen da immer gerne für Probleme, während man mit einem einmal laufenden CF Gruppenkonstrukt normal fix klar kommt, weil man alles nur auf einer Ebene hat.


Wenn Du eine neue Gruppe machst, die etwas mehr können soll, als eine andere, ist es also wichtig, dass Du der neuen Gruppe die Rechte der "niedrigeren" Gruppe explizit auch gibst. Also angenommen Du hast eine Gruppe "User" und "Premium". Die Premium Gruppe soll ein Forum mehr sehen. Dann gibst Du der "Premium" Gruppe das Recht für das neue Forum, aber ZUSÄTZLICH nochmal den Zugang für alle anderen Foren wie in der User-Gruppe.

Befugnistemplates können dabei helfen, überschreiben aber, wie Du korrekt sagst, die Forenbefugnisse. Du kannst die Befugnis-Templates aber editieren, wenn eine neue Gruppe dazu kommt, wodurch die bisher gesetzte Struktur nicht verloren geht und es dann praktisch als "Ergänzung" nutzbar ist, weil das Alte ja nicht verloren geht (wird ja dann nochmal auf die Foren gesetzt). Das geht dann eigentlich ganz fix, wenn man sich mal Dinge wie "normales Forum", "Teamforum", usw. als Template angelegt hat und eine neue Gruppe theoretisch nur noch ergänzen muss. Templates können auch geklont werden, sofern eine andere Gruppe etwas z.B. nicht sehen soll und du dann in einer weiteren Variante Dinge nochmal ausschalten möchtest.


Dort hast Du aber auch mit dem "Global setzen" die Möglichkeit, per Häkchen alles nochmal einzeln nachzubearbeiten auf der ganzen Seiten - Tipp: Wenn hier zu viele Foren und damit Kontrollkästchen sind, die maximal erlaubten POST Felder in der php.ini erweitern, sofern der Hoster diese einschränkt.


Versteckte Gruppen sind dann nur für keinen außer dem Admin sichtbar, damit kannst Du z.B. eine Gruppe machen, die Berechtigungen speziell nur für EINEN User enthalten könnte (oder für mehrere, die dort drin sind). Wenn Du dieser Gruppe die selbe Farbe gibst, kann niemand sehen, dass jemand in einer anderen Gruppe ist und ggf. mehr Rechte hat. Das machen die Versteckten Gruppen: Nur Admins und User, die drin sind, sehen ihre Existenz, aber sie tauchen nicht in der Legende auf. Mit dieser Variante hast Du also theoretisch die Möglichkeit viele einzelne Gruppen anzulegen mit speziellen Userrechten ohne Deine Legende vollzuspammen; und damit hast Du im Grunde die Möglichkeit wie bei kombinierten Gruppen: Du kannst so viel einzeln machen wie Du willst, aber hast trotzdem alles im Blick, wer welches Recht hat.


Hier haben wir das auch mal näher durchgekaut: berechtigungsvergabe-ueber-template--p163640.html#real163640


Also für Deinen Fall:
Ja, Du müsstest eine Gruppe machen, die alle Rechte in den Foren bekommt wie die weniger potente Gruppe und diese dann dem User als Hauptgruppe zuweisen.


Alternativ: Du kannst auch Passwortgeschützte Foren erzeugen. Wäre das ggf. eine Variante? :)
Passwort für ein Forum bekommt dann nur, wer dort rein darf?

LG,
Chris
Mimi
Benutzer
Avatar
Geschlecht:
Alter: 41
Beiträge: 97
Dabei seit: 05 / 2017
Betreff:

Re: Befugnisgruppen und Befugnistemplates

 · 
Gepostet: 10.06.2025 - 21:10 Uhr  ·  #3
Hi Chris,

zunächst danke für deine ausführliche Antwort.
Den Post bzw. Thread, den Wolfgang eröffnet hatte, kenne ich. Ich hatte, bevor ich den Thread hier schrieb, per Suche mir alles zu dem Thema Befugnisgruppen bzw. -Templates aus dem Supportforum durchgelesen. ;-)

Ein passwortgeschützter Bereich wäre natürlich eine prima Lösung, wenn man denn auch sicherstellen könnte, dass ein Passwort nicht weitergegeben wird. Ich möchte keinem etwas unterstellen, aber mit einer entsprechenden Befugnisgruppe habe ich in der Hand, wer was sieht ;-) Daher kommt diese Variante leider nicht in Frage.

In meinem Fall also für jede Gruppe bzw. jede mögliche Kombination eine Befugnisgruppe. Sprich: einmal jetzt Hirnschmalz und dann nachher "nur noch" die User in die Gruppe packen und das entsprechende Template auf das dann neu anzulegende Forum anwenden.
Der Hinweis, dass egal in wie vielen Gruppen man Mitglied ist, für die Befugnisse nur die Hauptgruppe zählt, finde ich auch hilfreich. Danke dir.
Also muss ich mir Gedanken machen, welche Berechtigungen eine Gruppe in Summe haben muss. Und ich sollte sinnvoll "kopieren", also mir überlegen, von welcher Gruppe eine neue Gruppe abstammen könnte. Z.B. Mitglied mit ABC stammt ab von Mitglied.

Der Vorteil von dieser Art der Befugnisvergabe ist die Übersichtlichkeit, oder?
Also dass ich immer genau weiß, welcher User welche Befugnisse hat.

Danke dir soweit schon einmal.
Ich mach mich dann mal an das Erstellen der einzelnen Kombinationen im ACP.

Viele Grüße,
Mimi
cback
Admin
Avatar
Geschlecht:
Herkunft: Saarland
Alter: 39
Homepage: cback.net
Beiträge: 17726
Dabei seit: 12 / 2003
Betreff:

Re: Befugnisgruppen und Befugnistemplates

 · 
Gepostet: 10.06.2025 - 22:01 Uhr  ·  #4
Hallöchen,

wie immer sehr gerne geschehen! Und Du hast das Prinzip jetzt absolut korrekt verstanden, genau so ist es nämlich, wie Du sagst! :)

Bei den meisten Anwendungsfällen, die bei Foren so genutzt werden, ist das im CF4 eingerichtete System deutlich einfacher zu handhaben, insbesondere, wenn es darum geht zu wissen, welche Rechte ein Nutzer genau hat und entsprechend auch bei Plugins sicher zu sein, dass auch dort die Gruppe das einzige ausschlaggebende Element für die Befugnisse darstellt.

Zugegeben: Bei den wenigen Boards, die ganz viele Spezialgruppen bzw. Sonder-Befugnisse benötigen, ist das Einrichten und das initiale Verständnis dadurch etwas komplizierter. Wie Du also so schön sagst, braucht es dann zunächst ein bisschen mehr "Hirnschmalz", da man entscheiden muss, welche zusätzlichen Gruppen man braucht, ob man die sichtbar oder versteckt macht, ob eine Unterteilung überhaupt Sinnvoll ist und man muss auch immer an die "Summe" der Berechtigung bei jeder Gruppe denken, da mehrere Gruppenmitgliedschaften nicht automatisch kombiniert werden, sondern immer nur die gewählte Hauptgruppe ausschlaggebend ist.

Sofern man diesen initialen Denk- und Einrichtungsprozess aber gemacht hat, sollte die weitere Administration später deutlich einfacher sein. Auch hier in der CBACK Community beispielsweise gibt es mehrere solcher Ebenen: Die "normalen" User, die einfach auch mal was testen können, die Lizenzinhaber und davon wieder diejenigen mit Basic oder Premium. Dank der versteckten Gruppen dafür und gleichen Farben für den Nutzernamen kann ein Außenstehender aber nie feststellen, ob ein Account nun ein "normaler" User oder ein Kunde ist (bzw. auch nicht welches Lizenzmodell derjenige hat). Also man kann im Endeffekt dann auch mit dieser Variante viel herausholen.


Bei meiner Arbeit auch in anderen Forensystemen habe ich sehr oft gesehen, dass kombinierende Systeme die Administration oft erschweren. Manche Forensysteme gehen sogar so weit, dass sie mehrere Stufen an "Rollen" haben, also dort gibt es kombinierende Gruppen, Einzelberechtigungen (Userebene) und sogar eine Systemebene. Sehr oft sieht man da, dass das Setzen von Berechtigungen versteckt in vielen Untermenüs schon direkt Schwierigkeiten mit sich bringt oder - noch schlimmer - dass durch Kombination mehrerer Ebenen, Gruppen und Rollen mitunter ein Nutzer, dem man (vermeintlich) ein Recht genommen hat, dann doch noch in gewissen Foren lesen / schreiben könnte ohne, dass der Admin etwas davon mitbekommt. Das ein bisschen linear arbeitende System vom CF4, welches die Hauptgruppe als eindeutigen "Entscheider" setzt, erlaubt es, dass Du im ACP die Rechte dann wirklich auf einen Blick kontrollieren kannst. Inzwischen gehen manche (teilweise spezialisierteren Community Systeme), die in früheren Versionen kombiniert haben, sogar eher wieder auf eine Variante wie das CF4 zurück, weil die Langzeit-Arbeit damit doch ein bisschen überschaubarer wird (gerade in großen Communities mit vielen Usern, wo man sich ansonsten irgendwann in den User-Sonderrollen verliert, da man diese erst sieht, wenn man einen Account gezielt aufruft).

Also genau:
Zitat
Der Vorteil von dieser Art der Befugnisvergabe ist die Übersichtlichkeit, oder?
Also dass ich immer genau weiß, welcher User welche Befugnisse hat.

Du musst im Grunde nur schauen, welche Hauptgruppe ein Nutzer aktiv hat (bzw. in welchen Gruppen derjenige sonst noch Mitglied ist, falls er wechselt) und kannst nur basierend auf der Gruppe im ACP auf der Forenübersicht mit den bunten Kästchen genau sehen, was der Nutzer nun wirklich kann und was nicht. Und bei der Gruppensteuerung siehst Du auch ganz eindeutig, welche Quoten (PMs, Anhanggröße, usw.) derjenige hat. Es gibt dann nichts, was Dir dort unbemerkt "reingrätscht", nicht mal ein Plugin, weil die Plugins ihre Berechtigungen auch nur basierend auf den Gruppen verwalten.

Ein weiterer kleiner Vorteil damit ist auch, dass das Befugnissystem performanter ist, weil es nicht so viel in der DB rumspringen und kombinieren muss. :D In den meisten Anwendungsfällen schleppt das nämlich auch immer unnötigen Ballast mit, wird aber eigentlich nie benötigt. Ich glaub der Großteil der Foren läuft sogar noch auf dem Default (Gast - User - Mod - Admin) und hat nicht mal den SMod aktiviert. :D

Viele Grüße und viel Erfolg bei der Planung Deiner Ebenen,
Chris
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Topic

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.