Portal > Foren > PHP > PHP-Programmierung > Cms - Rechte/Gruppen/Module
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 14.02.2007, 14:56 Nach oben    #1
Verplanter Benutzer
 
Registriert seit: 14.12.2004
Beiträge: 238
Standard Cms - Rechte/Gruppen/Module

Hallo zusammen,

ich knabber gerade an einer vernünftigen Umsetzung von Gruppen
den Rechten im Cms zu den Modulen.

Vorhaben Thema Gruppen:
Es können Gruppen erstellt werden ... die sich dann die User selbst
Zuordnen können.

Beispiel:
Gruppe 1
- Gruppe 2
- Gruppe 3
- Gruppe 4
Gruppe Mod
Gruppe Admin

Die Gruppen können beliebig erstellt werden.

Jetzt sollte natürlich Grundsätzlich die Gruppe Admin vorhanden
und mindestens einem User Zugeordnet sein. Um Prinzipielle CMS Einstellungen
vorzunhemen (Gruppen erstellen, Module Installieren, User Verwaltung)

-> weiter können Module eigentragen werden wie zB.
Forum, News, Gästebuch

Nun, die Überlegung geht jetzt soweit das jede Gruppe
Rechte zugeordnet werden kann. Wie zb. der Aufruf
von Forum,News ... das ist ja an den Modulen festzumachen.

zB. Gruppe 1 darf das Forum aufrufen (vererbar) -> also auch Gruppen
2-4, aber Gruppe 2 nicht.

Das ist ja soweit ganz ok, nur wie bekommt man am geschicktesten die Gruppen unter einen Hut mit den Rechten der jeweiligen Module.

1. Ansatz war das für jedes Modul eine Gruppe Existiert und die dem User
Zugeordnet wird, ist aber meine ich blödsinn da hier dann alle Rechte
vorhanden sind (create/change/delete).
Was an News/Newsletter noch nicht so schlimm ist aber in einem Foren-modul
dann doch wenn die Gruppe oder User nur für eines der SubForen Mod rechte
bekommen sollte.

2. Oder sollte man doch besser auf festdefinierte Gruppen wie die bekannten
Moderator/S-Mod/Admin setzten, und die Rechte anhand dieser fix Gruppen
in dem Modul festgelegt sind. Was aber eine feinere Abstufung an Rechten
nicht ermöglicht.

Ich bin da etwas unetschlossen, 2. ist einfacher aber ersteres ist individueller
Anpassbar hat aber den nachteil das ich nicht wüsste wie die Gruppen zu den
einzellnen Modulen (rechten) zentral abgespeichert werden sollte. Da ja jedes
Modul im Grunde andere Rechte ermöglicht.

Der wunsch ansich ist das eine Gruppe erstellt werden kann und dieser
Individuell die Rechte an den Installierten Modulen eingerichtet werden kann.
Sinnvoll?

Was habt Ihr da so schon umgesetzt oder Ideen dazu ? Meinungen ?

Hab voll den Knoten im Kopf
__________________
Das Leben ist zwar bloß ein Adventure-Game, aber die Grafik ist verdammt gut.
Ich such immer noch den Cheat für unlimited money!
DasMööp ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.02.2007, 15:00 Nach oben    #2
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Ohne mich jetzt mit deiner Fragestellung befasst zu haben poste ich hier erstmal einen Link: http://www.developers-guide.net/forums/showthread.php?t=4567

Vielleicht hilft dir der Thread ja weiter?
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.02.2007, 15:24 Nach oben    #3
Verplanter Benutzer
 
Registriert seit: 14.12.2004
Beiträge: 238
Standard

Sehr Fein ... hab bei der Suche nur das Tut gefunden gehabt .... !

Das sind gute Überlegungen und Ansätze die auch gut Umsetzbar sind !

Danke !!
__________________
Das Leben ist zwar bloß ein Adventure-Game, aber die Grafik ist verdammt gut.
Ich such immer noch den Cheat für unlimited money!
DasMööp ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.02.2007, 20:20 Nach oben    #4
Bastian Fenske
 
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 853
Standard

...zu deinem Punkt "Rechte vererben", eine Anmerkung, die dir vielleicht weiterhilft:

Ich nutze hier die Möglichkeit, nicht Rechte zu vererben, sondern Gruppenzugehörigkeit zu vererben. Ich definiere also: Wenn ein Benutzer die Rolle x in Gruppe y hat, dann hat er auch die Rolle z in Gruppe zz. Die DB-Abfrage dazu ist noch sehr holprig bzw. nicht rekursiv (siehe den entsprechenden Thread hier im Forum), aber für meine Anforderungen reicht es erst mal.

Auch hab ich alle Rechte-Anfragen in eine Klasse "Perm" ausgelagert, an die ich eine Anfrage stelle "darf der Benutzer x (optional) die Aktion y mit dem Objekt z (optional) durchführen". Das hat sich bis jetzt ganz gut bewährt, da ich alle Fragen zu den Berechtigungen zentral beantworten kann.

Basti
Basti ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.02.2007, 11:22 Nach oben    #5
Verplanter Benutzer
 
Registriert seit: 14.12.2004
Beiträge: 238
Standard

Hi,

das mit dem Auslagern der einzelnen Rechte gefällt mir auch da es dann
Zentral verwalltet ist und auch in einem Rutsch ausgelesen werden kann.

Bin noch am grübeln aber folgenden Stand erstmal:

Wenn eine Gruppe erstellt wird so kann diese nur als Cms-group definiert
werden, hat den Grund das man neben den normalen Gruppen (Intressen) eben hier die Rechte/Rollen definiert.

zB. Gruppe
User (cms) - Für alle
Mod-Forum (cms) - Rechte für Mod-Forum

Jetzt ist nur die Frage da ja nicht jeder in allen Foren Mod ist/darf oder können sollte dachte ich mir wird bei der Erstellung eines Forums dazu auch
gleich die Gruppe (cms) mit Angelegt.

zB. Gruppe
User (cms) - Für alle
Mod-Forum-Allgemein (cms) - Rechte für Mod-Forum Allgemein
Mod-Forum-News (cms) - Rechte für Mod-Forum News

Was zwar den Vorteil hat das der User entsprechend der Gruppe
also dem Forum zugeordnet werden kann aber wenn die Rechte
gleich sind diese dann doppelt sind ... bzw. doppelte Einträge aus dem
Auth-Array löschen ... hmmm

oder man definiert eine Gruppe Mod mit den Rechten und setzt den User in
diese und in die jeweiligen der Foren. Hat aber wieder doppelte Arbeit wenn
ich jetzt eine eine Gruppe Super-Mod einführen wollte die mehr können sollte.

zB. Gruppe
User (cms) - Für alle
Mod-Forum (cms) - Für alle Mods im Forum
Sup-Forum (cms) - Für alle Sup-Mods im Forum
Mod-Forum-Allgemein (cms) - Rechte für Mod-Forum Allgemein
Mod-Forum-News (cms) - Rechte für Mod-Forum News
DVD - Offene Gruppe an die sich User Anmelden können
DVD-Leiter (cms) - Leiter der Gruppe DVD der User Aufnehmen kann

hmm oder

zB. Gruppe
User (cms) - Für alle
Mod-Forum (cms) - Für alle Mods im Forum
Sup-Forum (cms) - Für alle Sup-Mods im Forum
Mod-Forum-Allgemein (cms) - Rechte für Mod-Forum Allgemein
Mod-Forum-News (cms) - Rechte für Mod-Forum News
Sup-Forum-Allgemein (cms) - Rechte für Mod-Forum Allgemein
Sup-Forum-News (cms) - Rechte für Mod-Forum News
Forum Allgemein - Eintrag wenn Forum Sichtbar
Forum News - Eintrag wenn Forum Sichtbar
DVD - Offene Gruppe an die sich User Anmelden können
DVD-Leiter (cms) - Leiter der Gruppe DVD der User Aufnehmen kann

So und nun überlege ich ob ich die Gruppen nicht in eigene Tabellen setze
einmal die rechte Gruppen und einmal die Themen Gruppen.

Zitat:
Ich nutze hier die Möglichkeit, nicht Rechte zu vererben, sondern Gruppenzugehörigkeit zu vererben. Ich definiere also: Wenn ein Benutzer die Rolle x in Gruppe y hat, dann hat er auch die Rolle z in Gruppe zz. Die DB-Abfrage dazu ist noch sehr holprig bzw. nicht rekursiv (siehe den entsprechenden Thread hier im Forum), aber für meine Anforderungen reicht es erst mal.
-> egal in welcher Gruppe er ist und das recht vorhanden, dann darf er auch

Muss nur überlegen ob es da zu Unstimmigkeiten kommen kann... und wie ich
Gruppen zusammenfassen kann/könnte oder ob ich das so lasse.
__________________
Das Leben ist zwar bloß ein Adventure-Game, aber die Grafik ist verdammt gut.
Ich such immer noch den Cheat für unlimited money!
DasMööp ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.02.2007, 12:51 Nach oben    #6
Bastian Fenske
 
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 853
Standard

Ich arbeite mit Rollen. Ich würde in meinem Framework/CMS also für jedes Forum eine Gruppe vom Typ Forengruppe anlegen und in diesem Typ (also dann auch für die konkrete Gruppe) gibt es dann eben die Rolle Moderator und ggf. noch andere mögliche Rollen. Jeder Benutzer, der Moderator in einer Forengruppe ist, erbt die Rolle Mitglied in der Moderatorengruppe (für jede Ableitung ein Eintrag, damit diese auch wieder sauber entfernt werden können). Für diese Ableitungsregeln gibt es noch keine Abbildung in der Datenbank, die werden bislang einfach programmiert.

Basti
Basti ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Grundsatzdiskussion] Seitenaufbau in CMS siyabonga Anwendungsdesign / Softwarearchitektur 3 17.09.2007 14:21
Eigenes CMS aber wie? Berti PHP-Programmierung 7 06.10.2006 13:39
CMS selber programmieren flupsi Gesuche 3 05.06.2006 14:04
Spezielle Lizenz für Veröffentlichung eines CMS gesucht ... Ben Plauderecke 6 09.01.2006 21:18
Euer Traum CMS! Jay Plauderecke 18 06.12.2005 22:55


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:08 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45