Hallo,
vielleicht so?
Benutzer m : 1 Gruppe
Benutzer m : n BenutzerRechte
Gruppe m: n GruppenRechte
Dann musst Du beim Aufruf prüfen, ob er entweder in einer Gruppe ist und die Berechtigung dadurch erlangt, oder ob er die Berechtigung direkt zugewiesen bekommen hat.
BenutzerRechte sieht z.B. so aus:
ID,BenutzerID,Objekt,Recht (z.B. r=read, w=write)
GruppenRechte sieht z.B. so aus:
ID,GruppenID,Objekt,Recht (z.B. r=read,w=write)
Gruß