Seite 1 von 1

Einfügen mehrerer ACL Rechte

Verfasst: 25.09.2008 15:44
von Blutgerinsel
Hey,

da ich lediglich den PHPBB2 Code kenne und mich mit dem Code von PHPBB3 noch nicht einlesen konnte, hab ich derzeit noch keinen Gesamtüberblick....

Nun gut:
- Ich muss zusätzliche ACL in das Board einbauen, da nicht alles von vorne bis hinten "dynamisch" gebaut wurde.

Unter anderem muss ich die Gruppeneinstellungen die ein Gruppenleiter ändern kann teilweise beschneiden, so Dinge wie Rangfarbe und Ähnliches

Leider weiss ich aktuell nicht wieviel Aufwand es bedeutet die ACL zu erweitern, so dass ich selbstklärend auch dieses Recht überall verwenden kann....

Wenn man so will, soll es natürlich sowohl als Userrecht auch als Gruppenrecht gesetzt werden können. Und der Gruppenleiter darf das natürlich auch nicht sehen können wenn es ihm untersagt wurde....

Für Info / Tipps und ähnliches konstruktives sage ich schon mal vielen Dank....

Verfasst: 25.09.2008 17:45
von gn#36
Rechte hinzufuegen ist sehr einfach. Es gibt dafuer eine Klasse im includes/acp Ordner in der Datei auth. Die Funktionen bei der Benutzung der Rechte sind ganz gut im docs Ordner in der Datei auth_api.html beschrieben.

Mit der auth_admin Klasse einfach die Methode acl_add_option(array(
'local' => array({alle lokalen Rechte aufgelistet}),
'global' => array({alle globalen Rechte aufgelistet}),
));

Wie genau die Rechte aufgebaut sind sollte sich eigentlich aus KB:rechtesystem ergeben.
Userrechte haben dabei immer das Prefix u_ und sind global,
Adminrechte haben das Prefix a_ und sind ebenfalls global,
Moderatorenrechte haben das Prefix m_ und koennen sowohl lokal als auch global sein,
Forenrechte haben das Prefix f_ und sind lokal.

Alle neu angelegten Rechte muessen eines dieser Prefixe haben damit man sie im ACP mit dem bestehenden System bearbeiten kann. Wenn nicht brauchst du ein eigenes, neues Modul zur Verwaltung und das wird ziemlich komplex. Falls du lokale Rechte aus Versehen global eintraegst oder andersrum koennte das zu interessanten Ergebnissen im ACP fuehren, teilweise werden die naehmlich trotzdem angezeigt.

Weitere, detailliertere Informationen dazu findest du im Wiki: http://wiki.phpbb.com/Permissions