Ich erstelle ein Menüsystem in PHP und MySQL. Ich werde verschiedene Menüs haben und mit jedem Menü wird eine Reihe von Menüpunkten verbunden sein.
Auf der Site habe ich auch unterschiedliche Benutzerberechtigungen, einige Benutzer können alle Menüelemente sehen und einige Elemente sind für einige Benutzer ausgeblendet. Ich bin gespannt, wie ich mit den Berechtigungen auf saubere Weise umgehen kann, damit in Zukunft problemlos mehr Benutzertypen hinzugefügt werden können.
Was ich bisher habe, ist ungefähr so:
-------------------
|Menus
-------------------
|id| |display name|
-------------------
----------------------------------------------------------
|Menu items
----------------------------------------------------------
|id| |menu_id| |label| |link| |parent| |sort| |permission|
----------------------------------------------------------
Ich denke, dass die permissionSpalte entweder eine durch Kommas getrennte Zeichenfolge sein kann, die ich mit der Berechtigungs-ID des aktuellen Benutzers vergleichen kann. Es könnte auch ein Verweis auf eine andere Tabelle sein, die alle möglichen Kombinationen der derzeit vorhandenen Berechtigungen definiert.
Eine Lösung könnte auch darin bestehen, einfach mehrere Menüelemente zu speichern, wobei der einzige Unterschied die Berechtigung ist, obwohl dies zu einer doppelten Speicherung und möglicherweise zu einer Verwaltung führen würde.
Ich würde gerne einige Gedanken darüber hören, wie man dies strukturiert und was als sauber, dynamisch und beschissen angesehen werden kann.
Vielen Dank.
