Admin rechte system ?

Bl!zZzArD

Mitglied
Also ich arbeite da grad an nem newsscript des jetzt auch geht nur will ich jetzt eine "admin rechte system" reinbauen so dass nicht mehr jeder admin zu allen kategorien posten kann sondern nur noch zu bestimmten und dies soll in diesem "admin rechte system" irgendwie festgelegt werden bei welchen kategorien der admin posten kann.
hat da wer ne idee wie ich des machen kann ?
des soll nacher auch noch ausbaubar sein für andere adminscripte..
THX
 
Table
categories
catid, catname

admins
adid adminame

catadmins
catid adid

Schau dir die tabellen struktur an.
Nach diesem system kannst du einfachst
rechte verteilen in den du einfach
den admin über die catadmins tabelle den categorien zuteils:
Beispiel Admin Blizzard steht in der tabelle:

catadmin
adid admin
1 Blizzard

soll in der Kategorie Sondernews posten dürfen

categorie
catid catname
12 Sondernews

dann musst du nur den admin 1 mit der categorie 12 in der tabelle catadmins verbinden

insert into catadmin (catid,adid) values (12,1),

dann kannst du mit einer einfachen prüfung:

$blub = mysql_query("select * from catadmin where catid = $KategorieId and adid = $AdminId;");

if(@mysql_numrows($blub)
... zutritt gewähren
else
... zutritt verhindern
 
nix versteh.. aber ich glaub des ist auch net des was ich will
mit dem posten will ich da gar nix haben rein nur die rechte zum posten in den verschiedenen kategorien!
 
ein beispiel:

adminrecht:
0 = normaler user
1 = newsposter
2 = sonst was

11 = newsposter bei einer bestimmte kategorie

so jetzt kann ich aber nur angeben dass der admin
bei einer bestimmten kategorie posten kann und nicht
bei mehreren weil die zweite zahl immer einer bestimmten
kategorie zugeordnet ist.

so hab ich es mir bis jetzt gedacht aber des ist net sehr sinnvoll!
 
Ich habe dir die Loesung schon gegeben.

Mit dieser Loesung kannst du sämmtliche Rechte gestallten ob das Zugriff oder Posten oder sonstwas ist.

Du musst nur drüber nachdenken und dir das System so hinbiegen wie du das brauchst.
Das nachdenken kann dir keiner abnehmen =)
 
dafuer muesste man aber relatinale tabelln struckturen koennen und die kann er bzw ich auch nicht fatility wollt da mal n tut schreibn sollt glaub ich morgen oder ehut fertig werden
 
also nochmal :

Du hast 3 Tabellen in der Datenbank!

Tabelle 1 - admins
mit den spalten

adid - die id spalte
name - der name des admins

Tabelle 2 - kategorien

catid - id der kategorie
name - name der kategorie

Tabelle 3 - Kategorienadmins

catid - bezieht sich auf die id der Tabelle kategorie
adid - id bezieht sich auf die id des admins.

---------------------------------

Wenn es also einen Admin Blizzard gibt
so steht der in der Tabelle
Admins drinne

adid name
1 Blizzard

es gibt die Kategorie FreeSexNews :-)
dann steht diese in der tabelle Categories drinne

catid name
12 FreeSexNews


Wenn der Admin irgendwelche Rechte auf in der Kategorie FreeSexNews haben soll so muss er durch die Tabelle catadmins mit dieser Kategorie verbunden werden.
durch den Eintrag :
adid catid
1 12

Das heisst der Admin mit der id 1 !! hat rechte in der categorie 12

Dies kann mann testen durch
oben beschriebens


PHP:
$blub = mysql_query("select * from catadmin where catid = $KategorieId and adid = $AdminId;");

if(@mysql_num_rows($blub))
... posten gewähren
else
... posten verhindern

mysql_num_rows fragt einfach wieviele "Reihen" ergebniss bekomme ich wenn ich den Select ausführe. Das heisst wenn mysql_num_rows() mindestens 1 "Reihe" zurueckliefert wird das posten gewährt wenn nicht dann wird es verhindert.

Sprich der Admin Blizzard darf in der Kategorie FreeSexNews posten.

Das ist jetzt absoluter rohbau aber das ist genau nach dem Prinzip nachdem mann rechteverteilung aufbaut.
mysql ist eine Relative Datenbank.
Das heisst mann verbindet verschiedene Datensätze durch bestimmte als Idetifier genutzte Spalten.
Wie in dem fall die Administratorid mit der Categorienid.

Das hat den vorteil mann kann sehr leicht die Datenbank erweitern.

Zum beispiel kann mann neue Rechte einführen und muss nur noch die Tabelle
kategorienadmins ändern.
z.b.

adid catid lesen schreiben loeschen
1 12 1 1 0

somit kann mann z.B. dem Admin Blizzard in der Kategorie FreeSexNews das lesen dieser Kategorie erlauben das schreiben ebenso aber das loeschen von beiträgen verbieten.

usw.
 
Original geschrieben von DarkSummer
dafuer muesste man aber relatinale tabelln struckturen koennen und die kann er bzw ich auch nicht fatility wollt da mal n tut schreibn sollt glaub ich morgen oder ehut fertig werden

Ja, mag sein aber das ist recht einfach.

Es geht hauptsächlich darum das mann über eine Tabellen Spalte verbindet.

Ist gut wenn fatalati da was schreibt sonst hätt ichs jetzt gemacht

sorry soll nicht überheblich klingen aber oftmals reichts aus den PC mal auszumachen Stift und papier mitzunehmen sich in die Sonne zu setzen und ne Stunde Brainstorming zu betreiben :-)

Das ist zumindest mein ansatz nr. 1 wenn ich auf der Suche nach einer Programmiertechnischen Lösung bin, nicht umsonst habe ich meinen Chef darauf angehauen einen Liegestuhl bei uns auf der Firmenterrasse zu platzieren =)
 
Zurück