gow: DB-Abfrage bei Rechteverwaltung

Beitrag lesen

Hallo,

Ich versuche es einmal mit Beispieldaten:

Tabelle group (Gruppe/Rollen)
+----+---------------+-----------+
| id | name          | parent_id |
+----+---------------+-----------+
| 0  | Alle          | 0         |   (Alle Benutzer)
+----+---------------+-----------+
| 1  | Redakteur     | 0         |
+----+---------------+-----------+
| 2  | Chefredakteur | 1         |
+----+---------------+-----------+
| 3  | Eventposter   | 0         |
+----+---------------+-----------+
| ...                            |
+----+---------------+-----------+

Ergiebt:
Alle
 Redakteur
  Chefredakteur
 abc

Tabelle category (Kategorien)
+----+--------------+-----------+
| id | name         | parent_id |
+----+--------------+-----------+
| 0  | (Alles)      | 0         |
+----+--------------+-----------+
| 1  | Nachrichten  | 0         |
+----+--------------+-----------+
| 2  | Welt         | 1         |
+----+--------------+-----------+
| 3  | Lokales      | 1         |
+----+--------------+-----------+
| 4  | Events       | 0         |
+----+--------------+-----------+

Ergiebt:
(Alles)
 Nachrichten
  Welt
  Lokales
 Events

Tabelle permission
+----------+-------------+-----------------+
| group_id | category_id | what            |
+----------+-------------+-----------------+
| 0        | 0           | readpublished   |  (Jeder darf alle veröffentlichte Dinge lesen)
+----------+-------------+-----------------+
| 1        | 1           | add             |  (Redakteure dürfen Artikel in Kategorie "Nachrichten" hinzufügen)
+----------+-------------+-----------------+
| 1        | 1           | read            |  (Redakteure dürfen alles Lesen)
+----------+-------------+-----------------+
| 2        | 1           | publish         |  (Chefredakteure dürfen Artikel in Kategorie "Nachrichten" veröffentlichen)
+----------+-------------+-----------------+
| 3        | 4           | add             |  (Eventposter dürfen Artikel in Kategorie "Events" hinzufügen)
+----------+-------------+-----------------+
| 3        | 4           | publish         |  (Eventposter dürfen Artikel in Kategorie "Events" veröffentlichen)
+----------+-------------+-----------------+

Außerdem dürfen Benutzer der Gruppe Chefredakteur Artikel in Kategorie "Nachtrichten" hinzufügen.

Die Tabellen müssen nicht so aufgebaut sein, wenn eine andere Strukturierung besser wäre, bitte sagen.

Ist mein Problem jetzt verständlich?

lg gow