coltseavers
Goto Top

Rechtesystem

Hallo zusammen,

ich plane gerade eine Online-Mitgliederverwaltung für einen Verein, realisiert mit PHP, MySQL, Ajax.

Verschiedene User sollen sich dort einloggen können und dann unterschiedliche Rechte haben:
1) Ein Admin mit allen Rechten (inkl Userverwaltung)
2) User mit Schreibrechten in der Mitgliederkartei
3) User mit vollen Leserechten
4) User mit eingeschränkten Leserechten
usw

Wie implementiert man nach aktuellen Stand der Softwaretechnik ein entsprechendes Rechtesystem?

Ist sowas hier noch aktuell, oder gibts dafür inzwischen fertige Frameworks, oder wie macht man das?
http://www.webmasterpro.de/coding/article/php-ein-einfaches-flexibles-r ...
http://www.webmasterpro.de/coding/article/mysql-umfassendes-rollen-und- ...

Vielen Dank vorab!

Gruß,
Colt

Content-Key: 264796

Url: https://administrator.de/contentid/264796

Printed on: April 19, 2024 at 01:04 o'clock

Member: eisbein
eisbein Feb 28, 2015 updated at 07:05:52 (UTC)
Goto Top
Guten Morgen!

Das wird erst mal davon abhängen welchen Umfang und Aufbau der Verein und die Mitglieder-Verwaltung hat.
Nachdem Eigenbau gewünscht ist, vergessen wir gleich mal etwaige Fertig-Vereinslösungen.

Was stört mich an der dezimalen Lösung:
- 1,2,4,8,16,32,64,128,256,..... da hat man schnell große Werte, obwohl erst wenig an Rechten vergeben wurde.

Ich habe das so umgesetzt:

Eine Tabelle mit den Rechten anlegen
ID, RECHT
1, Eintrag auf der Startseite verfassen
2, Gästebucheinträge löschen
3, Downloads hinzufügen
etc.

Eine Tabelle, mit den Rechten des Uses
USER-ID,RECHT-ID
1,1 -> User 1 hat das Recht 1 um Einträge auf der Startseite zu verfassen
2,3 -> User 2 hat das Recht 3 um Downloads hinzuzufügen
etc.

Bei der Useranmeldung kann man die Rechte in ein Array laden und einfach auslesen.
Gruppen lassen sich so auch leicht realisieren

Gruß
Eisbein
.
Member: stefaan
stefaan Feb 28, 2015 at 09:53:42 (UTC)
Goto Top
Servus,

es gibt auch fertige Lösungen für Rechtemanagement, z.B.
phpGACL (auf sf.net, rechts unter recommended sind auch ähnliche Projekte verlinkt).
Einfach einmal durchprobieren, ich hab keine davon jemals getestet.

Für eine überschaubare Anzahl an Berechtigungen ist das Bit-setzen durchaus eine einfache Möglichkeit. Dazu brauchst du nicht einmal große PHP-Funktionen, das Berechtigungs-Bit kannst du auch gleich mit einem SQL-Query abfragen. Habe ich bei einem kleinen Projekt auch so gelöst.

Grüße, Stefan