Thema: Rechtesystem
Einzelnen Beitrag anzeigen
Alt 20.01.2006, 14:56  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.818
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

es gäbe aber auch eine mathematische lösung für die rechte, die relativ elegant ist und auf zusätzliche tabellen und damit auf teure joins verzichten kann.

dazu definiert man die rechte folgendermaßen:

PHP-Code:
recht0 (2^0)
recht1 (2^1)
recht2(2^2)
recht3 (2^3)
alle rechte = (recht0 recht1 recht2 recht3) = 8+4+2+15 = ( 2^(3+1) ) - 
keine rechte
0
user x hat recht 1 und recht 2 
recht1 recht2 
in binärdarstellung würde das so aussehen:
PHP-Code:
recht0 0001
recht1 
0010
recht2 
0100
recht3
:  1000
alle rechte
1111
keine rechte
0000
recht1 
recht2 0110 
mit einer generischen klasse, die die diversen berechnungen vollführt, wäre das ganze ein klacks

cya
axo
axo ist offline   Mit Zitat antworten