Mailinglisten-Archive |
>> Theoretisch sind nat=FCrlich Bitoperationen am performantesten. >k=F6nntest du das theoretisch an 4 rechten demonstrieren, mit 2 gruppen, >wie das ungef=E4hr funktioniert.. >ich kann mit den bits etc nicht sehr viel anfangen, bzw ich finde keinen >weg zur umsetzung. nhemen wir an:=20 Gruppe 1 und 2, je Rechte lesen, schreiben, =E4ndern, administrieren Gruppe1: bits: 0 1 2 3 (Bedeutung s.o.) Gruppe2: bits: 4 5 6 7 (dito) In Deiner MySQL-DB gibt's dann f=FCr jeden user ein Feld rechte (BigInt) Nehmen wir user Klaus-Dieter, er soll f=FCr Gruppe 1 alles au=DFer administrieren d=FCrfen, f=FCr Gruppe 2 nur schreiben, sein rechte-Feld enthielte also (vorsicht, Notation niederwertigstes bit links ...): bin=E4r 1101 0100 macht: 1*1 + 1*2 + 0*4 + 1*8 + 0*16 + 1*32 =3D <=F6h, Rechner-such> Willst Du nun wissen, ob Kl=E4uschen auch schreiben darf, machst Du z.B. if ($rechte & 2) echo "klaus darf in Gruppe 1 schreiben"; > >> MySQL unterst=FCtzt (schau ins manual) 64-bit Arithmetik. >was bedeutet das f=FCr mich ? (keine ahnung ;-) Willst alle user, die in Gruppe 2 lesen d=FCrfen, ist Deine query "select name from user where rechte&16" Tja, reicht Dir das zur Info? --- Thomas Beckmann, Kiel, Germany beckmann_(at)_gis.de
php::bar PHP Wiki - Listenarchive