s. dingens: Rechtesystem für Web-Portal

Beitrag lesen

Guten Morgen zusammen,

in meinem momentanen Projekt, einer Bildergalerie, möchte ich ein Rechtesystem einführen. Der Administrator soll dann den Usergruppen und Usern Rechte zuweisen können. Ein Gast gilt bei mir ebenfalls als User.
Sobald ein User "neu" auf die Seite kommt, wird ihm der Datensatz des "Gastes" in der User-Tabelle zugewiesen.

Mir fehlt nur leider der Ansatz, wie ich dieses Rechtesystem bewerkstellige. Wenn sich Rechte widersprechen, sollten die User-Rechte überwiegen; sprich, die Userrechte überschreiben die Usergruppenrechte.
Zudem soll für jedes Album angegeben werden können, welche User anzeigen, zugreifen, hochladen, ändern kann.

Wie müsste der SQL zum holen der Alben prinzipiell aussehen?
Hole album_id, album_name in dieser $_GET['categorie'], verbinde mit Berechtigungstabelle durch album_id=album_id, Wo in der Berechtigungstabelle meine User-ID angegeben ist.

SELECT album_id, album_name FROM gal_albums a LEFT JOIN gal_permissions p ON a.album_id=p.album_id WHERE p.user_id=$userid AND a.categorie=$_GET['categorie']

Das wäre für mich momentan am logischsten. Aber in diesem Fall kann ja der Datensatz in der Berechtigungstabelle gar nicht vorhanden sein...
Wie genau müsste dann das Konstrukt aussehen, damit ich hinterher in der Ergebnistabelle wirklich nur die Alben drin habe, die der User anzeigen darf?
Und wie verbinde ich das mit der Usergruppen-Berechtigung und der Überschreibung mit den User-Berechtigung?

Gruß
S. Dingens