Zugriffsrechte vergeben

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

  • Zugriffsrechte vergeben

    Hallo,

    ich habe mir mal ein Zugriffsschutz zusammengebaut.
    d.h. wenn ein Benutzer die Seite betritt gehört er der Gruppe Gast an und kann nur die Startseite und das Loginformular sehen.
    registrierte bzw. eingeloggte Benutzer können dann auch die internen Seiten sehen.

    Ich habe eine index.php in der dann der content per include bzw. require eingefügt wird. Das Menü ist immer sichtbar, jedenfalls die Links die für die jeweilige Gruppe sichtbar sein dürfen.

    meine DB-Tabellen in Kurzfassung:

    Tabelle Module
    modul_id - modul_name...

    Tabelle Benutzergruppen
    group_id - group_name...

    Tabelle Gruppen_Module
    group_id - modul_id

    Tabelle Benutzer
    user_id - user_name - group_id...

    Tabelle Default_Werte
    default_group

    PHP-Code:
    function check_zugriffsrechte($modul_id) {
        if(
    defined('INCLUDE_CHECK') && isset($modul_id) && in_array($modul_id$_SESSION['user_module'])) {
        return 
    TRUE;
        }
        else {
        return die();
        }
    }

    //steht am Anfang jeder zu inkludierenden Datei
    check_zugriffsrechte($_GET['modul']);


    //steht in der index.php
    define('INCLUDE_CHECK'TRUE);

    // -> Benutzerrechte für Gäste setzen <- //
    //Benutzergruppe setzen (z.B. Gast mit wenig bis fast gar keinen Rechten)
    if(!isset($_SESSION['user_rights'])) {
    //$sql...FROM Default_Werte...
    $_SESSION['user_rights'] = $row['default_group'];
    }
        
    //Module der Benutzergruppe setzen
        
    if(!isset($_SESSION['user_module'])) {
        
    //$sql...FROM Gruppen_Module...
        
    $_SESSION['user_module'][] = $row['modul_id'];
        }
    //Wenn der user sich einloggt bekommt er natürlich eine andere Benutzergruppe 
    //(z.B. Gruppe Benutzer) mit mehr Zugriffsrechten als die Gruppe Gast
        
    //Anzeige Menü
    //$sql = "SELECT...
    //FROM Gruppen_Module
    //LEFT JOIN Module ON ...
    //WHERE group_id = $_SESSION['user_rights']... 
    bin ich damit auf dem richtigen Weg oder kann man noch was verbessern oder ändern?

    vg
    gourmet
Lädt...
X