| | | | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | ||
| Erfahrener Benutzer Registriert seit: 24.12.2004
Beiträge: 1.818
![]() | Zitat:
folgendes: man braucht eh diese konstanten in einer tabelle, um z.b. berechtigungen zu benennen o.ä... d.h. man hat eine tabelle acl_list (id, acl_num, name) ... und diese enthält genau die werte. also id | acl_num | name 0 | 0 | nichts 1 | 1 | hallo 2 | 2 | welt 3 | 4 | foo 4 | 8 | bar 5 | 16 | omg ... dh. man kann relativ leicht Code: SELECT users.* FROM users, acl WHERE (users.acl & acl.acl_number) AND acl.name="bar" das system hat aber meines erachtens schon auch nachteile: - mit einem einzigen float kann man auf 32 bit maximal 1023 objekte schützen. - für 'exklusive' zugriffsberechtigungen ist das ganze nicht geeignet, d.h. wenn man z.b. lauter dateien schützen will, auf die genau ein user zugreifen kann und alle anderen nicht, macht das ganze keinen sinn. es macht also keinen sinn, wenn man hauptsächlich zuweisungen der form user A hat zugriff auf objekt 1 user B hat zugriff auf objekt 2 user C hat zugriff auf objekt 3 ... hat, das ganze zu verwenden. das ganze macht dann sinn, wenn man relativ wenige zu schützende objekte hat, und es um viele 'gemeinsame' zugriffe geht, also user A hat auf objekt 1,2,5,6 zugriff, user B nur auf 4 , user C nur auf 4,6,7 , user D hat auf alles zugriff etc... desweiteren macht das ganze dann sinn, wenn es um vererbbare zugriffe geht - user B hat zugriff auf 4,6,7 und kann daher an 'seine untergruppen' daher nur genau diese zugriffe freigeben ... wenn es irgendwie möglich ist, die beschränkung von 1023 performant und sauber zu überbrücken, ist es schön, ansonsten muss man sich doch immer wieder ordentlich überlegen, was man wozu braucht. außerdem revidiere ich grad die 1023 - pow(2,1023) - 1 - d.h. erstes objekt nicht, alle anderen schon - funktioniert schonmal nicht sauber aufgrund von rundungsfehlern. | |
| | |
| | ||
| Erfahrener Benutzer Registriert seit: 02.04.2008
Beiträge: 4.034
![]() | Zitat:
Aber Spass beiseite, sobald du Änderungen in deinem System machen willst, ist der Aufwand viel grösser.
__________________ Gruss L | |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 07.11.2004
Beiträge: 161
![]() | des hat mich jetzt die letzten beiden tage immer mal wieder beschäftigt und ich bin zum entschluss gekommen es doch auf normalform umzustellen. Jetzt muss ich zwar meinen teil des codes wieder abändern aber dafür hab ich später weniger probleme |
| | |
| | |
| Gast
Beiträge: n/a
| Ich stimme axo voll zu. Ich bin auch nur hier gelandet, da ich ein rechtesystem schreiben will, das ebenfalls bitweise arbeitet Will das auch ungefähr so machen, wie oben beschreiben, muss mir nur überlegen, wie ich nicht nur Gruppenrechte, sondern auch Userrechte unterbekomme... Habe schon überlegt, ob ich Mitgliedern mit eigenen Berechtigungen eine vituelle Gruppen-ID vergeben soll, damit diese Rechte wie eine weitere Gruppenmitgliedschaft verarbeitet werden. [EDIT] Ich vergebe verschiedene Rechte: (- kein Zutritt => 0 // KEINE SPALTE!!!) - lesen => 1 - schreiben => 2 - editieren (eigene) => 4 - löschen (eigene) => 8 - editieren (alle) => 16 - löschen (alle) => 32 In der DB mache ich dann für jedes dieser Rechte eine Spalte. zugeordnet werden diese Rechte einem Bereich oder einer Kategorie. Dann vergebe ich jeder Gruppe eine eindeutige ID: - 1. Gruppe => 1 - 2. Gruppe => 2 - 3. Gruppe => 4 ... In die Spalten der DB trage ich dann bei jedem Recht die berechtigten Gruppen ein (ID aufaddiert). Also kann man durch bitweise verunden der Gruppenmitgliedschaften (ID's) und berechtigten Gruppen die Rechte erhalten. So kann ich alle Berechtigungen für Gruppen erledigen, nun muss ich noch überlegen wie ich Verbote und Userrechte einbauen kann. Globales Verbot (also für lesen, schreiben, editieren usw. ...) ist kein Problem, aber wie könnte ich nur lesen oder nur schreiben nehmen? Verbote sollen Konflikte verhindern, wenn gewisse Gruppen keinen Zugriff haben sollen, aber durch eine andere Gruppe Zugriff erhalten Irgendwelche Vorschläge? [/EDIT] |
|
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Mysql organisation und Rechtesystem | SchmaR | PHP Tipps 2008 | 3 | 08.05.2008 19:25 |
| Problem bei binärem Rechtesystem | SilentSight | PHP-Fortgeschrittene | 27 | 28.04.2008 15:07 |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| php admin rechtesystem, rechtesystem phpmyadmin, rechtesystem acl php, rechte von user acl abfragen |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.