Seite 1 von 1

Berechtigungseinstellungen nerven

Verfasst: Di 22.Dez, 2009 14:09
von Holger
Hi,

ich habe ja meine Probleme mit der phpBB3 Berechtigungseinstellung.

Nun ist es so: alle meine User sind in der Gruppe "Registered users".
Diese Gruppe hat die normale Berechtigung die jeder User haben soll.
Jetzt möchte ich einem Querulanten die PM-Funktion deaktivieren.
Wenn ich aber die User-Permissions für diese Person aufrufe, ist alles rot. Ok, weil ja alles vorerstmal über die Gruppen-Berechtigung gesteuert wird, richtig?

Wie schalte ich NUR die PM-Funktion für ein einziges Mitglied aus, ohne irgendetwas anderes zu verändern? :wall:

/Holger

Re: Berechtigungseinstellungen nerven

Verfasst: Di 22.Dez, 2009 19:00
von oxpus
Hallo,

zunächst mal zu was Grundsätzlichem:

1. Tief durch atmen
2. Es ist nur halb so schlimm, wie es ausschaut (auch die Länge meiner nachfolgenden Antwort).
3. Erklären wir die Grundlagen...

Das phpBB 3 kennt 3 Einstellungsmöglichkeiten für die Berechtigungen:
Ja = Funktion ist für den Benutzer / die Gruppe erlaubt
Nein = Berechtigung ist nicht gesetzt oder nicht für den Benutzer/die Gruppe aktiviert
Nie = Die Funktion darf vom Benutzer / von der Gruppe niemals verwendet werden

Damit sollte schon klar sein, dass "Ja" zunächst etwas erlaubt, "Nein" die Einstellung nicht erteilt oder diese bislang nicht gesetzt wurde und "Nie" die betreffende Berechtigung definitiv verwehrt (Gründer sind hierbei allerdings immer ausgenommen und haben auch immer alle Rechte).

Nun kann man ja, wie auch schon im phpBB 2, Rechte auf Gruppen einrichten (was auch immer der erste Weg sein sollte, weil bequem und eben auch deutlich weniger Arbeit), aber auch einzelnen Benutzern.
Dazu gibt es zunächst Berechtigungsrollen, die einen ganzen Satz an Rechten beinhalten und für Gruppen und/oder Benutzer herangezogen werden können.
Gerade bei den Forenberechtigungen (sei es bezogen auf Benutzer oder auf Gruppen) sind die Rollen sehr hilfreich und sparen somit viel Arbeit.

Jetzt ist es nun bei dir so, dass die Gruppe der reg. Benutzer die Standardberechtigungen über eine Standardrolle zugewiesen bekommt. phpBB 3 Standardeinstellung eben. Also ein Teil der Berechtigung steht auf "Ja", der Rest auf "Nein".
"Nie" wird zunächst gar nicht verwendet, da alle Benutzer/Gruppenrechte in der Rolle zusammengefasst und weiterreichenden Rechte (wie z. B. Moderation) dort nicht enthalten sind.

Nun aber erst einmal ein Stück weiter zu den Abhängigkeiten zwischen "Ja", "Nein" und "Nie":
Wenn eine Berechtigung auf "Ja" gesetzt wurde, ist diese für den betreffenden User oder die Gruppe (und damit deren Mitglieder) aktiviert.
Bei "Nein" folglich nicht. Soweit waren wir ja nun schon.

Solange nun eine Berechtigung für eine Gruppe oder einen Benutzer nur auf "Ja" oder "Nein" gesetzt wurde, zählt immer das "Ja", da es die Berechtigung zumindest an einer Stelle ja auch erlaubt.
Und nebenbei: Das ist die Berechtigungsmethode, wie sie bis hierher auch im phpBB 2 verwendet wird...

Anders sieht es aber nun aus, wenn die Berechtigung durch irgend eine Gruppenmitgliedschaft oder extra für den Benutzer auf "Nie" eingestellt wurde: Dann ist die Berechtigung definitiv nicht erteilt und damit die betreffende Funktion verwehrt.
Aber auch nur dann und nicht bei gesetzten "Nein"-Einstellungen!
Und das ist im phpBB 2 so nie möglich gewesen, wobei man folglich einen Benutzer auch immer explizit genau einstellen musste...

Ein Beispiel zum besseren Verständnis:
Der betreffende Benutzer ist Mitglied in den Gruppen "reg. Benutzer", "Text" und "Spezial".
In der Gruppe der "reg. Benutzer" darf er Beiträge verfassen (Einstellung "Ja", hier Standard). In der Gruppe "Text" nicht (Einstellung "Nein") und über die Gruppe "Spezial" bekommt er auch ein "Nein".
Da er nun durch diese Kombination mindestens einmal ein "Ja" erhält, darf der Benutzer folglich Beiträge verfassen.

Soweit verstanden?
Gut, dann weiter:

Stellt man jetzt aber z. B. bei der Gruppe "Spezial" die Berechtigung zum Posten auf "Nie", wird dem Benutzer (und allen anderen Mitgliedern dieser Gruppe auch) die Berechtigung zum Posten definitiv entzogen.
Kurzum: Alle Mitglieder der Gruppe "Spezial" dürfen mit der Einstellung "Nie" nun nicht mehr posten, egal von wo jetzt ein "Ja" für diese Berechtigung herkommt!

Ist das nun schon mehr Licht im Dunkel?
Dann noch eine Stufe weiter:

Da man nun nicht immer gleich für jede Ausnahme in den Berechtigungen unbedingt auch gleich eine neue Gruppe eröffnen will, kann man auch einzelnen Benutzern gezielt Rechte einstellen (hier: entziehen).
Obwohl einzelne Gruppen für die Ausnahmen auch nicht sooo verkehrt wären. Allein der Übersichtlichkeit und Einfachheit her, wenn man z. B. in der Gruppenbeschreibung die Einschränkung der Rechte erklärt, ermöglicht das enorme Arbeitserleichterungen, Benutzer "mal eben" in die Gruppe zu stecken und nicht die Benutzerberechtigung für jeden betreffenden Benutzer einzeln einstellen zu müssen. Aber das mal nur nebenbei erwähnt...

Das Prinzip ist bei Benutzerrechten aber das gleiche wie bei den Gruppenrechten: Benutzer auswählen und das betreffende Recht auf "Nie" einstellen.
Ergebnis: Dieser eine Benutzer darf die Funktion hinter der betreffenden Berechtigung nicht mehr ausführen. Selbst wenn er durch seine Mitgliedschaften in (übertrieben gesagt) 1.000 Gruppen 999 mal ein "Ja" erhalten würde.

Kommen wir nun nach soviel Grundlage endlich zu deiner Frage:
Wähle im ACP unter dem Tab "Berechtigungen" die Funktion "Benutzerrechte" aus und suche nach dem User.
Zunächst stehen die Rechte des Benutzers alle auf "Nein", da sie noch nicht für den Benutzer selber gesetzt wurden.
Du musst dabei aber auch nichts weiter ändern, als lediglich im Tab "Private Nachrichten" die gewünschten PM-Rechte auf "Nie" zu setzen. Denn wie soeben gelernt: "Ja" übersteuert jedes "Nein" (hier aus der Gruppe der "reg. Benutzer"). Folglich auch die "Nein"-Vorgaben bei den Benutzerrechten.
Also wirklich nur die PM-Berechtigungen für den Benutzer auf "Nie" setzen. Der Rest bleibt so, wie vom Forum vorgegeben, auf "Nein" stehen!

Diese Methode vermeidet dazu auch gleich eine Menge Arbeit, nicht jedes Recht für den Benutzer prüfen zu müssen (und es sind ja nun auch etliche Einstellungsmöglichkeiten mehr, als noch im phpBB 2), ob nun "Ja" oder "Nein" korrekt zu setzen ist.
Daher kann man sich letztlich bei den benutzerbezogenen Rechten auf die konzentrieren, die man setzen will, der Rest kann komplett "ignoriert" werden.

Ich hoffe nun, dass dir das Berechtigungssystem des phpBB 3 etwas verständlicher geworden ist.
Wenn nicht, habe ich hier noch Links zu zwei Artikel, die das Ganze besser veranschaulichen:
Rechtevergabe im phpBB 3 (Quelle: Knowledge Base auf phpbb.de)
Effektive Berechtigungen - oder Rechte verfolgen (Quelle: Knowledge Base auf phpbb.de)

Re: Berechtigungseinstellungen nerven

Verfasst: So 27.Dez, 2009 16:56
von Holger
Hallo Karsten,

vielen herzlichen Dank für die ausführliche Erklärung!

Gruss
Holger

Re: Berechtigungseinstellungen nerven

Verfasst: Mo 28.Dez, 2009 12:38
von oxpus
Keine Ursache.
Hauptsache ich konnte damit helfen.