Gears: Wie Datensätze ausgeben? (kleines Berechtigungssystem)

Hallo Leute,
ich möchte ein kleines Berechtigungssystem für mein CMS schreiben. Die Navigation hat 2 Ebenen (Ober- und Unterpunkte, stehen in Tabelle content).
Ich weise jeweils verschiedenen Usern verschiedene Oberpunkte zu (und schreibe dies in die Tabelle rights). Und NUR die Oberpunkte, die ich den Usern zugewiesen habe, werden mit den jeweiligen Unterpunkten für den bestimmten User ausgegeben. Das ist mein Problem... Wie kann ich dieses umsetzen?
Ich muss erstmal vergleichen, ob der Oberpunkt in Tabelle content und rights von User xyz übereinstimmt und dann noch die jeweiligen Unterpunkte ausgeben. Aber wie mache ich das am besten?

Liebe Grüße
Gears

  1. Hello,

    wenn ich dich richtig verstanden habe, möchtest Du ein "vertikales Rechtesystem" einführen, also nicht über die Spalten (das können die DBMS meistens schon alleine), sondern über die Zeilken. Das machst Du am besten mittels eigener Spalte für den "Owner" der Zeile oder, wenn es komplexer werden soll, mittels eigener Tabelle für "Owner" und "Trusties" der Zeilen.

    Durch den ausschließlichen Zugriff über Stored Procedures auf dioe Tabellen verhinderst Du, dass dieses vertikale Rechtesystem umgangen werden kann.

    Die Aufgabe ist z.B. mit MySQL ab 5.1 sehr bequem umsetzbar.

    PHP hat damit dann nur noch sehr wenig zu tun. Es muss nur noch die vorgefertigten Queries aufrufen und eventuell die Userauthentifizierung durchführen vorher. Aber auch das geht, wenn man es zuende denkt, mit dem DBMS.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de