Claudia: PHP Login

Hallo,

ich habe seit einiger Zeit ein Loginsystem nach folgender Anleitung bei einer PHP-Applikation am laufen:
Tutorial

Der einzige Unterschied zu dem Tutorial ist, das bei mir die User in einer SQL-DB Tabelle gespeichert werden (mit md5-gehashtem Passwort) und in einer Schleife der Username und Passwort verglichen werden.

Das funktioniert auch alles prima nur muss ich nun für verschiedene Benutzergruppen  unterschiedliche Berechtigungen zur Ansicht von Content, Links auf einer Seite ect. vergeben.
Wäre es nun o.k. zusätzlich zur Standard-Anmelde Session je nach zugehöriger Gruppe unterschiedliche Sessionvariablen (mit dem Namen der Gruppe) zu erzeugen und je nach Gruppe dann unterschiedliche Inhalte anzuzeigen?

  
  
     session_start();  
  
     $hostname = $_SERVER['HTTP_HOST'];  
     $path = dirname($_SERVER['PHP_SELF']);  
  
     if (!isset($_SESSION['angemeldet']) || !$_SESSION['angemeldet']) {  
      header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/login.php');  
      exit;  
      }  
  
      echo "Inhalt für alle angemeldeten";  
  
  
     if (!isset($_SESSION['gruppeA']) || !$_SESSION['gruppeA']) {  
      echo "InhaltA";  
      }  
  
     if (!isset($_SESSION['gruppeB']) || !$_SESSION['gruppeB']) {  
      echo "InhaltB";  
      }  
  

Ist so ein Vorgehen vom Konzept her sicher bzw. üblich?
Gibt es für PHP fertige Klassen, die ich für solche Zwecke in meine Anwendung einbauen kann?

Besten Dank
Claudia

  1. PS:
    Der Code von meinem Post
     ~~~php

    if (!isset($_SESSION['gruppeA']) || !$_SESSION['gruppeA']) {
          echo "InhaltA";
          }

    if (!isset($_SESSION['gruppeB']) || !$_SESSION['gruppeB']) {
          echo "InhaltB";
          }

      
    muss natürlich  so heissen:  
    ~~~php
      
         if (isset($_SESSION['gruppeA']) || $_SESSION['gruppeA']) {  
          echo "InhaltA";  
          }  
      
         if (isset($_SESSION['gruppeB']) || $_SESSION['gruppeB']) {  
          echo "InhaltB";  
          }  
      
    
    

    Claudia

  2. Hi,

    Das kannst Du prinzipiell so machen.

    Ich selber mache sowas nur dann so, wenn es sich um Kleinigkeiten handelt, also ob z.b. ein bestimmter Link in der Navigation erscheinen soll oder  nicht, also  eigentlich bei "Pillepalle".

    Ansonsten habe ich in der Datenbank ein zusätzliches Berechtigungssystem angelegt, dass je User ganz individuell gefüttert und ausgelesen werden kann. So kannst Du nach dem Login, wenn Dir der Username oder seine ID (je nachdem, was Du als relevat ansiehst, um den User eindeutig zu identifizieren), die Seite für jeden User ganz individuell ausgeben.

    Es über die Session zu machen, wird wirklich irgendwann zu unübersichtilich, wenn Du viele verschiedene Einzelberechtigungen anstrebst.

    Gruß, Freak

  3. Hello,

    Du solltest das Archiv zu diesem Thema auch durchforsten.
    Das ist noch wesentlich aussagefähiger, als der minimalistische Artikel, der einen Einstieg geben soll.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://restaurant-zur-kleinen-kapelle.de