Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Userrechtescript [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Userrechtescript


 
Maclaim
07-03-2009, 20:41 
 
Hallo Leute ich will für mein Homepage ein Rechtesystem bauen und dachte mir mal bevor ich mein Idee umsetzen will, dass ich erst noch mal nachfrage obs so sinvoll ist zu realisiern..



Hier ist mal mein Idee... wenn der User sich einloggt wird aus der DB Tabelle in der Spalte "recht" zum dazugehörigen Benuter das Recht ausgelesen.



Die Rechte sollen:

"1" Test User
"2" Registrierter User
"3" Spezial User
"4" Admin
Diese Rechte also die Zahl wird dann in eine Session mit ein paar anderen Infos beim Login erzeugt (Daten aus datenbank gelesen)!



Falls mann dann auf eine Seite klickt wir abgefragt



Bei ner Admin seite

if(rechte = 4)
{ Du kann die Seite betreten}
else { Du kann die Seite nicht betreten }




Bei ner Spezial User Seite

if(rechte >= 3)
{ Du kann die Seite betreten}
else { Du kann die Seite nicht betreten }




Bei ner Normalen Seite

if(rechte >= 2)
{ Du kann die Seite betreten}
else { Du kann die Seite nicht betreten }



Bei ner TestSeite

if(rechte >= 1)
{ Du kann die Seite betreten}
else { Du kann die Seite nicht betreten }





Also ich lege auf jeder Seite ganz oben fest. wer sie mit welchem Rang sehen darf.





Meine Fragen dazu:

1. Ist das eine "Sichere" methode?

2. Wie ist dass auf großen seiten gelöst...?

3. Für eine neu Idde die besser ist bin ist sehr dankbar, da mir leider grad kein andere Lösung eingefallen ist...

 
Laire
08-03-2009, 03:31 
 
So ähnlich habe ich es auch gemacht, beim Login die Nummer unter $_SESSION[login] gepspeichert und dann eine ähnliche abfrage.

 
TobiaZ
09-03-2009, 23:03 
 
Was machst du, wenn in Zukunft auch ein "registrierter User mit zusätzlichen Rechten" benötigt wird?

Du müsstest also praktisch eine Gruppe "2b", bzw. "2 1/2" einführen.

 
ghostgambler
09-03-2009, 23:36 
 
http://book.cakephp.org/view/171/Access-Control-Lists
z.B. mal lesen. Ansonsten bietet Google eine gute Anlaufstelle um sich in das Thema zu stürzen und erstmal zu lesen bevor man versucht selbst zu denken.

 
pascal007
25-03-2009, 12:11 
 
Mein Rechtesystem mit MySQL sieht wie folgt aus:

1. Tabelle: User
2. Tabelle: Group
3. Tabelle: User_Group

In Tabelle 1 sind ganz normal die User-Infos gespeichert (Username, Mail, PW, etc. aber KEINE Gruppe).

In Tabelle 2 kann man beliebig Gruppen anlegen (Gruppennamen, Beschreibung, Farbe, etc.).

In der 3. Tabelle werden dann die verschiedenen User mit den verschiedenen Gruppen verknüpft. So kann ein User in mehreren Gruppen sein, welche verschiedene Rechte besitzt.

In einem Script sieht das ganze dann so aus, dass ein Array mit allen Gruppen des Users erzeugt wird. Danach wird mit in_array() abgefragt ob der User in der gewünschten Gruppe ist, um die Aktion auszuführen.

Oder aber die berechtigungen für z.B. ein Forum sind ebenfalls in einer mySQL-Tabelle hinterlegt...

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:36 Uhr.