Ankündigung

Einklappen
Keine Ankündigung bisher.

Überprüfung der Rechte in PHP

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Überprüfung der Rechte in PHP

    Hallo Zusammen,

    Um die Rechte zu prüfen, wurde vorher folgende Methode verwenden.
    1. Variable-Deklaration in einer php-Klasse mit Rechtebezeichnung/ rechteflags
    Bsp-Code:
    • Klasse A - ( Für Constants)
    define ('RIGHT_ADMIN',0);
    define (‚RIGHT_USERMGMT‘,1);

    $rights= array(RIGHT_ADMIN=> „Admin“,
    RIGHT_USERMGMT => "Userververwaltung")
    1. Damit man einen „User“ prüfen, ob ein User eine Transaktion durchführen kann oder nicht, wurde eine Methode in der „auth_class“ implementiert, die die Variable ( define ('RIGHT_ADMIN', 0)) zugreift.
    • Klasse B - (für Überprüfung von der Recht )
    Zum Beispiel:

    $rightsflags='RIGHT_ADMIN', ( VON KLASSE A siehe Oben)
    Function check_rights($rightflags) {
    // rechte holen
    If(rightflags!=null){
    // Admin?
    If ($this->right_current_user[RIGHT_ADMIN]==1) Return True;
    // Spezifisches Recht?
    Return $this-> right_current_user [$rightflag]==1?True:False;
    } }


    Aber jetzt muss ich die „define“-Variable in der Datenbank ablegen und weglöschen und die Arrays nicht mehr als normale Parameter lesen, sondern die Arrays soll von der Datenbank ausgefüllen und anzeigen.
    (diese wurde erledigt.).

    Nachdem ich alle Rechte in Datenbank umgezogen habe, die ( als „define-Variable“) vorher deklariert wurde ( Das heißt die Klasse A sollte leider nicht mehr existieren).
    Muss trotzdem die Überprüfung der Rechte immer noch funktionieren -> das heißt die function „check_rights($rightsflags)“ muss weiter funktioniert.

    Meine Frage:
    Kann jemand mir bitte sagen, wie ich am Bestens machen kann, um „die Klasse B und die function „check_rights($rightsflags)“ anzupassen, damit ich am Schluss komplette von der Klasse A verzichten kann, weil alles muss von DB gefüllt werden. Nicht mehr von „define“-Variable.

    Ich hoffe, dass ihr meine Frage verstanden habt, falls etwas unklar ist,, könnt ihr mir gerne Frage stellen.

    Vielen Dank im Voraus! Und Über eine Antwort und Idee würde ich mich sehr freuen.


    (Screenshot von DB-Einträge)

  • #2
    Bild

    Kommentar

    Lädt...
    X