phpbar.de logo

Mailinglisten-Archive

[php] rechte-system

[php] rechte-system

Thomas Beckmann php_(at)_phpcenter.de
Sun, 17 Jun 2001 19:26:01 +0200


>> 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