k00ni 0 Posted March 17, 2009 Share Posted March 17, 2009 Ich denke, man kann das sehr einfach halten. Es gibt 2 neue tabellen und man nutzt die Gruppen- und Usertabelle des jetzigen Systems. rechte: id | name | info gruppe_rechte id | gruppenid | rechteid | wert Ich denke, dass es sinnvoller ist, Rechte einer Gruppe zu geben, statt eines Users. Verringert den Adminaufwand und die Abfragenzahl bezüglich der Tabellen. Man legt nun z.b. ein Recht an id | name | info 1 | news_create | News erstellen Und man ordnet der Gruppe "Redakteure" dieses Recht zu. Kommt nun ein User auf die Seite für das Schreiben einer News, prüft man ob er der Gruppe Redakteure angehört, wenn ja, bekommt er Zugriff, wenn nicht, erhält er bspw. eine Verweigerungsmeldung. Man kann mittels der "wert"-Spalte in der Tabelle gruppe_rechte noch etwas detailierter festlegen, wer was darf. Dies könnte man beispielsweise mit den Kategorien zusammen nutzen, eine gänzlich andere Nutzung ist auch denkbar! Bsp: Du hast 3 Kategorien für die News: Allgemeines, Babynahrung und Kinderbetten. Nun ist ein User in der Gruppe Babyspezialisten. Du möchtest ihm Zugriff auf Babynahrung geben, dann legst du einfach bei der "wert"-Spalte die ID der Kategorie "Babynahrung" rein, fertig. Bezüglich des Codes könnte das so funktionieren, dass man eine Funktion namens check_right aufruft und dieser den Namen des Rechtes (also hier news_create) sowie der benötigten "werte" übergibt, im Beispiel: if ( check_right ( "news_create" , 0 ) == true OR check_right ( "news_create", 3 ) == true ) Damit wird geprüft, ob der User allgemeine Schreibrechte (wert-spalte hat Eintrag 0) bei den News hat oder nur in der Kategorie 3 (=Babynahrung) schreiben darf. Dazu habe ich noch ergänzend eine Userklasse erstellt, welche mir erstens allgemeine Userinformationen speichert ( username, nickname, ... ) und weiterhin noch ein Array besitzt, welches die Rechte beinhaltet. Man könnte dann eine Instanz dieser Klasse in der Session speichern, um nicht bei jedem Seitenaufruf die Tabellenabfragen zu müssen. Das Array mit den Rechten ist folgendermaßen gedacht: ['rechte_name'] ['value'] Dass kann man einfach durchgehen. Ich hoff, dass war soweit alles verständlich. Was denkt ihr darüber? Grüße Quote Link to post Share on other sites
splasch 0 Posted July 14, 2012 Share Posted July 14, 2012 Ich hab mal vorlangen einen geschrieben. Schau dir es mal an Letzter Beitrag: http://www.php2all.de/thread-651-rechtesystem.html Mfg Splasch Quote Link to post Share on other sites
Knixx 0 Posted July 23, 2012 Share Posted July 23, 2012 Danke für den Link splasch! Ist echt gut, wenn man es nochmal bildlich vor sich hat und es nicht nur "hört" Quote Link to post Share on other sites
splasch 0 Posted July 25, 2012 Share Posted July 25, 2012 Danke für den Link splasch! Ist echt gut, wenn man es nochmal bildlich vor sich hat und es nicht nur "hört" Kein Problem wollte nur nicht alles nochmal Posten deswegen nur der Link. Mfg Splasch Quote Link to post Share on other sites
Knixx 0 Posted July 30, 2012 Share Posted July 30, 2012 Klar, lieber bisschen weniger Aufwand und dafür mehr Wirkung Quote Link to post Share on other sites
Flipper 0 Posted September 10, 2012 Share Posted September 10, 2012 Cooles Rechtesystem, dass du da entwickelt hast! Vielleicht werde ich das mal in meine Homepage intergrieren. Danke dafür Quote Link to post Share on other sites
Flipper 0 Posted September 17, 2012 Share Posted September 17, 2012 So, meine jetzige Homepage ist abgeschlossen, zur Intergration des Rechtesystems bin ich nicht mehr gekommen. Das nächste Projekt steht aber schon in den Startlöchern; sobald ich also wieder eine kostenlose Homepage erstelle, werde ich das wohl integrieren. Ergebnisse poste ich dann mal hier, dann könnt ihr euch selbst ein Bild machen. Quote Link to post Share on other sites
splasch 0 Posted September 20, 2012 Share Posted September 20, 2012 So, meine jetzige Homepage ist abgeschlossen, zur Intergration des Rechtesystems bin ich nicht mehr gekommen. Das nächste Projekt steht aber schon in den Startlöchern; sobald ich also wieder eine kostenlose Homepage erstelle, werde ich das wohl integrieren. Ergebnisse poste ich dann mal hier, dann könnt ihr euch selbst ein Bild machen. Fein statt der wie im Beispiel angeben Datenbank Lösung were das Rechtesystem auch über eine Array Accessliste möglich. Je nach dem was einen lieber ist und wofür es eingesetzt wird. Quote Link to post Share on other sites
HTMLnoob 0 Posted March 21, 2013 Share Posted March 21, 2013 Cool! Finde das System sehr nice, auch von der Lösung bin ich begeistert, werde es mal mit der Array Accessliste probieren... LG Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.