Portal > Foren > Offtopic > Plauderecke > Dynamische Gruppen und Rechte
Antwort
 
Themen-Optionen
Alt 05.10.2005, 09:34 Nach oben    #1
Verplanter Benutzer
 
Registriert seit: 14.12.2004
Beiträge: 227
Standard Dynamische Gruppen und Rechte

Hallo,

ich habe kurz eine frage zu Gruppen und Rechte von Gruppen in
einem System welches beliebig Gruppen darstellen soll. Meine Überlegung
an dieser Sache ist folgende:

Es kann eine Gruppe1 erstellt werden und diese bekommt verschiedene rechte.

Wenn es mehr Gruppen sind so kann man einer Gruppe1 eine andere zuweisen.

Gruppe1
subA -> Gruppe2
subB -> Gruppe3
Gruppe2
subA -> Gruppe3
Gruppe3

Nun soll ja nicht die untergruppe subA von Gruppe1 die rechte bekommen
sondern die Gruppe1 kann mit Ihren Rechten auf zB. Artikel der sub-Gruppen
anschauen.

Und jetzt kommt mein eigentliches Problem bei dem System soll es nicht
nur abwärtsGruppen geben wie die einfache Struktur von zB.

Administrator -> Moderator -> User (rechte abhängige)

geben sondern es soll auch Gruppen geben die nicht wirklich was mit rechten
zu tun haben sondern einfach nur das sehen was Ihnen zugeordnet ist.

Ich speichere rechteabhängige sachen nur unter User die sind Fix, sprich
ein Feld mit einer Zahl je höher desto mehr rechte folglich beinhaltet es niedere auch.

Aber wie sollte man am besten die anderen Speichern mit SET !?
Oder per eigener Table id,userID,groupID ...

Bin hier für Vorschläge offen und Dankbar, was ich bisher so gefunden habe
hat mir bei der Umsetzung nicht so wirklich gefallen.

Wie genau sollte man es überhaupt machen da ja komplexer es später bei mehr Usern auch aufwendiger ist ...

hmmm... grübel ...
__________________
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  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.10.2005, 23:52 Nach oben    #2
Goldman.de
 
Benutzerbild von J33d3X
 
Registriert seit: 09.10.2005
Ort: Frankfurt am Main
Beiträge: 190
Standard

hi

also ich kann nur sagen wie ich dieses mache:
in der Regel arbeite ich mit bis zu 7 Gruppen ( ich nenne sie halt nur levels )

bsp.: userabfrage
PHP-Code:
$is_admin     true==isset($_SESSION['user']['level']) && 30<=$_SESSION['user']['level'] ? true false;
$is_coadmin   true==isset($_SESSION['user']['level']) && 20<=$_SESSION['user']['level'] && $_SESSION['refid']==$_SESSION['user']['refid'] ? true false;
$is_mod       true==isset($_SESSION['user']['level']) && 10<=$_SESSION['user']['level'] ? true false;
$is_user      true==isset($_SESSION['user']['level']) &&  5<=$_SESSION['user']['level'] ? true false;
$is_freez     true==isset($_SESSION['user']['level']) &&  2==$_SESSION['user']['level'] ? true false;
$is_guest     true==isset($_SESSION['user']['level']) &&  1==$_SESSION['user']['level'] ? true false
jedem user ist in der db eine spalte level zugewiesen
( bei session start automatisch level 1 )

jetzt reicht eine abfrage
if (true==$is_user)

oder nächst höher
if (true==$is_mod)

man könnte es jetzt noch weiter verschachteln wobei ich dann die levelzahl mit gerade/ungerade verschachteln würde so entstehen "kreuzverweise"

ich hoffe als denkanstoss ist es halbwegs ausreichend

mfg
J33d3X ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.10.2005, 11:31 Nach oben    #3
Verplanter Benutzer
 
Registriert seit: 14.12.2004
Beiträge: 227
Standard

Hi

habe mir das mal durch den Kopf gehen lassen und bin auf folgende Umsetzung
gekomme. Ob das nun das gelbe vom Ei ist, kein Plan aber sieh mal selbst.

Die Gruppen rumd um die Moderation und Administration habe ich fest
Definiert ...

Mod
S-Mod
VIP
Admin

(oder was auch immer) ... diese sind auch direkt beim User eingetragen und
beinhalten auch feste rechte !

Was nun die anderen beliebigen Gruppen angeht habe ich folgende extra Table

id -> id
info -> Beschreibung der Gruppe
name -> Name der Gruppe
grpcms -> rechte anhand chmod zB. 'null' bis '111' (lesen-schreiben-ändern)
grpint -> Hier per ',' getrennt die integrierten Gruppen

Somit kann man für eine Gruppe die rechte festlegen. Und der Gruppe untergruppen zuweisen.

Für den User gilt bei folgendem Beispiel dann ...

1 - Info GruppeA - GruppeA - 111 - 2
2 - Info GruppeB - GruppeB - 111 -

... für den mit der in der Table user hinterlegten GruppenId '1' das er auch
Artikel oder Beiträge der GruppeB sehen darf. Aber jemand mit GruppeB eben
nicht die der GruppeA

Rechte:
Lesen - Schreiben
Betrifft die jeweiligen Gruppen in der er drin ist bzw. integriert.

Ändern
Nur wenn er als eigentümer hinterlegt ist !

Oder alles je nach Definition der Mod usw. Gruppen ... Zb.
Mod -> 0111
Admin -> 9111
(stufe,rechte)

somit wäre auch noch weitere später möglich wenns sein sollte!

Bin mir aber nicht ganz schlüssig werde noch etwas Brainstorming machen...
__________________
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  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen 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

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 are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Rechte der Dateien ändern Jan PHP-Programmierung 21 12.03.2007 12:40
Cms - Rechte/Gruppen/Module DasMööp PHP-Programmierung 5 15.02.2007 12:51
NPD, Rechte - Das ewige Problem WarrenFaith Plauderecke 7 28.09.2006 16:53
Opera cached dynamische Seite dsxs HTML, XML und CSS 11 29.08.2006 10:47
Dynamische Bilder mit PHP ausgeben... code5 PHP-Programmierung 10 23.03.2006 10:41


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:26 Uhr.


Powered by vBulletin® Version 3.7.3 (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