![]() |
1.) Hier wurden doch schon genug Links gepostet. Sowohl zum Prinzip als auch Beispielklassen. Da solltest du eigentlich alles finden. Tables brauchste in etwa folgende: users, groups, roles, users2groups, groups2roles verknuepft ueber die jeweiligen PKs. 2.) Ist halt die Frage wie flexibel du sein moechtest. Aber wenn du schon mit einem modularen System anfaengst moechtest du ja scheinbar recht flexibel sein. Also wuerde ich mich nicht von anfang an auf irgendwas festlegen. |
Dann wahrscheinlich nochmal Users2Roles, damit man Usern auch direkt eine Rolle zuteilen kann. Beeinflusst es die performance, wenn man in einer Spalte kommagetrennte Daten ablegt, diese zu einem array aufsplitten? Also "mid1, mid2, mid3, mid4,..." zu einem Array wandeln Oder habt ihr eine alternative Möglichkeit für mich? |
Du kannst auch serialize und unserialize verwenden. ob das schneller ist weiß ich nicht ;) |
Komplett Editiert!!! Meine aktuelle Umsetzungsidee sieht wie folgt aus: - das Rechtesystem verarbeitet nur Gruppen - Userberechtigungen müssen über virtuelle Gruppen ablaufen (Userrechte über virtuelle Gruppen, d.h. User mit Sonderrechten braucht eine eindeutige GID. Umsetzung noch unklar...) Tabelle mit Rechten: Code: aktion#lesen#schreiben#edit#löschen#edit_alle#löschen_alle lesen => aufaddierte GID's mit Leseberechtigung schreiben => aufaddierte GID's mit Schreibeberechtigung edit => aufaddierte GID's mit Editierberechtigung löschen => aufaddierte GID's mit Löschberechtigung edit_alle => aufaddierte GID's mit "alle editieren" Berechtigung löschen_alle => aufaddierte GID's mit "alle editieren" Berechtigung So, jetzt bekomm ich wieder die Verbote nicht unter... *g* Bei den Verboten könnte ich entweder für eine "Aktion" (z.B. ein Board in einem Forum) vergeben, was einfach zu realisieren wäre. Will ich verbote getrennt für lesen, schreiben, editieren usw. vergeben will, müsste ich wieder für jedes dieser Rechte eine Spalte für die Verbote vergeben... Die eindeutige virtuelle GID für Userrechte ist problematisch. Diese muss ja in die Folge der GID's passen und trotzdem eindeutig sein. Z.B. erst später anfangen. Dies würde die Anzahl der möglichen Gruppen begrenzen und diese virtuelle GID müsste dynamisch erzeugt werden. Oder die User-Sonderrechte werden in einer eigenen Spalte verwaltet und serialisiert abgespeichert... ich bastle mal an diesem Gedanken weiter und höre gerne eure Meinung dazu. Das durchdenken und eure Beiträge helfen mir die Unterschiede und Vor-/Nachteile zu verstehen ;) Zitat:
|
!? raff ich jetzt nicht, ist das auch deine Frage oder hat sichs erledigt? Es sagt ja schon, dass er das ganze über ne normale Bitfolge macht, die er nur noch verknüpfen muss. Aber dann fragt er, wie er sich die korrekten Rechte rausholt, oder hab ich das jetzt falsch verstanden? Also sagen wir mal, ein User hat das "Recht" 24. 24 = 16 + 8 = B 0001 0000 + 0000 1000. Da musste halt jetzt nochn Algorithmus schreiben, der dir das Ding auseinandernimmt, ich würde da spontan auf nen Bitoperator verweisen: PHP-Code: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:42 Uhr. |