• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Konzeption Berechtigungsverwaltung

thuemmy

Aktives Mitglied
Hallo Forum,

ich bin dabei die Website eines Kleingartenverein zu relaunchen. Dazu möchte ich eine kleines CMS erstellen, das eben speziell für die Belange des Vereins gemacht werden soll. Auf dieses CMS sollen natürlich User mit unterschiedlichen Aufgaben zugreifen können. Aber natürlich nur das machen können, was sie auch dürfen, Vorstand und Admin sollen alles dürfen, der Archivar soll nur in der Historie was ändern können, der Fotograf soll nur Bilder hochladen oder löschen können usw.

Ich habe mir nun folgendes überlegt:

Tabelle User
id - eindeutige id (a-i)
name - Username
pass - Passwort
und noch einige andere Informationen

Tabelle Berechtigung
id - eindeutige id (a-i)
userid - id mit Bezug zur Tabelle User
bereich - Name des Bereichs den der User bearbeiten darf z.b. 'bilder', 'user' 'historie'

In der Tabelle Berechtigung gibt es als für jeden Bereich eines Users einen Datensatz.

Beim Login werden die einzelnen Bereiche als Array im Session-Cookie gespeichert. Die einzelnen Seiten des CMS sollen dann folgenden Aufbau haben. intern-[bereich]-neu.php, intern-[bereich]-aendern.php und intern-[bereich]-loeschen.php. Beim Aufruf einer dieser Seiten wird dann überprüft ob der User überhaupt eingelogged ist, wenn ja, dann wird über einen Abgleich mit dem Seitennamen und der im Session-Cookie abgespeicherten Berechitungs-Array die Berechtigung für die Seite geprüft.

Nun meine Frage, gibt es da noch andere (einfachere) Möglichkeiten, oder ist das ein denkbarer Ansatz?

Gruß thuemmy
 
Man könnte es vllt auch mit 'ner If-Anweisung machen...
Ich meine damit, das jeder User nur auf bestimmte Seiten darf und das könnte man mit 'ner If-Anweisung abfragen.
 
Mein Ansatz wäre gleichgeartet mit dem von dir, thuemmy.

Vermutlich würde ich allerdings nicht einzelnen Benutzern Rollen vergeben, sondern Benutzergruppen. Je nachdem wie umfangreich diese Seite ist, sollte auch deine Variante leicht reichen können.

Die Berechtigungen in der Session zu speichern, ist machbar, aber eigentlich redundant, weil sie ja schon in der Datenbank verknüpft sind.


Ich persönlich bin mir an der Stelle nicht sicher, ob die Site eines Kleingartenvereins so besondere Anforderungen stellt, dass sich ein vorhandenes kleines CMS nicht eignet. Aber das musst du wissen.
 
Hallo vitus37,

vielen Dank für Deine Antwort. Das mit dem CMS habe ich mir auch schon überlegt bin aber aus verschiedenen Gründen davon abgekommen.

1. habe ich bis jetz noch keine Erfahrungen mit einem CMS gemacht, und da ich relativ schnell das ganze umgesetzt haben möchte, zumindest das, was der Besucher sieht (an der Stelle ist das CMS erstmal zweitrangig).
2. habe ich den Verdacht, dass die Leute, auch mit einem kleinen CMS schon hoffnungslos überfordert sind. Also muss es noch begrenzter sein.
3. da ich vorhabe die Seite noch etwas auszubauen, ich weiß noch nicht in welche Richtung das gehen wird, befürchte ich, dass irgendwann das gewählte CMS vielleicht doch nicht mehr das abdecken kann, was wir dann möchten. Dann muss man vielleicht wieder von vorn anfangen.

@ colibrido - vielen Dank auch für Deine Antwort. Aber bei meiner Frage geht es weniger, oder noch gar nicht, um die Programmierung, sondern erstmal das grobe Konzept.

Gruß thuemmy
 
3. da ich vorhabe die Seite noch etwas auszubauen, ich weiß noch nicht in welche Richtung das gehen wird, befürchte ich, dass irgendwann das gewählte CMS vielleicht doch nicht mehr das abdecken kann, was wir dann möchten. Dann muss man vielleicht wieder von vorn anfangen.

An der Stelle würde ich befürchten, dass ein selbstgemachtes CMS an seine Grenzen kommt. Wenn man soetwas programmiert mit dem Hintergedanken einer kleinen Seitenverwaltung, fehlt oftmals die Basis um das System flexibel erweitern zu können. Die meisten CMS sind modular aufgebaut. Soetwas zu implementieren ist durchaus aufwendig.

Ich möchte nur darauf hinweisen, da ich in meinen Anfängen den Fehler gemacht habe, alles selbst zu programmieren. Irgendwann waren die Systeme unübersichtlich, überladen und inkonsistent und benötigten eine Grunderneuerung.
 
3. da ich vorhabe die Seite noch etwas auszubauen, ich weiß noch nicht in welche Richtung das gehen wird, befürchte ich, dass irgendwann das gewählte CMS vielleicht doch nicht mehr das abdecken kann, was wir dann möchten. Dann muss man vielleicht wieder von vorn anfangen.


Dieser Gefahr läufst du zwangsläufig aus. Wenn du aber Konsequent sauber programmierst (Ich weiß nicht wie fit du bist) sollte das kein Problem sein.
Um zur ACL zurückzukommen. Da finde ich vor allem wenn das später mal erweiterbar sein soll den Vorschlag von Vitus ziemlich gut. Jede ACL-Lösung die was auf sich hält regelt das ähnlich.

Einerseits hast du das ganze besser Abstrahiert, andererseits musst du dich nicht selbst drum kümmern was ein User darf und was nicht. Du verschiebst die Benutzer lediglich in ihre Grüppchen. Die eigentlichen Rechte werden dann den Gruppen zugewiesen. Dadurch hast du erheblich weniger Aufwand beim erstellen neuer Benutzer.
 
Hallo vitus37, hallo spaceCookie,

es geht um die Verwaltung von Kleingärtnerverein Priessnitz-Morgenröte . Nicht über die Darstellung der Umlaute und des scharfen S wundern die Seiten sind in utf-8 codiert und der Freespace-Server liefert die Seiten aber in iso-8859-1 aus. Eine eigene .htaccess kann ich dort auch nicht speichern.

Im ersten Ausbaustadium soll im Bereich freie Gärten, Historie, und Fachberater von den Usern was gemacht werden können.

  • Freie Gärten - Gärten als frei kennzeichnen, die nötigen Informationen eingeben, ein Bild hochladen und den Übersichtsplan neu zeichnen lassen, bzw. einen freien Garten löschen.
  • Historie - Einen neuen Meilenstein in der Historie des KGV eingeben
  • Fachberater - einen neuen Artikel erstellen und den aktuellen dann ins Archiv verschieben.
Bei der Präsentation der neuen Seite vor dem Vorstand wurde ich allerdings schon nach der Erweiterbarkeit um eine Bilder-Galerie gefragt.

Da sich das ganze aber in einem überschaubaren Rahmen bewegen wird, sowohl was den Ausbau der Site als auch die Verwaltung angeht, werde ich die Rechte wohl auf User vergeben und keine Gruppen bilden.

Gruß thuemmy
 
Zurück
Oben