alpman: Autorisierungskonzepte

Beitrag lesen

Hallo zusammen,

Ich verfolge zur Zeit folgendes Konzept für eine dynamische Internetseite:

Die Autorisierung basiert auf Sessions und es gibt eine Seite index.php, die ein HTML-Template verwendet. Dieses Template wird in Abhängigkeit vom jeweiligen Request (sowohl GET als auch POST) und vom Zustand der Autorisierung mit Inhalt gefüllt. Alle Benutzer (angemeldete und unangemeldete) "arbeiten" mit dieser Seite.

Wenn z.B. der Request index.php?cmd=players abgesetzt wird, bekommen angemeldete Benutzer eine Liste mit folgenden Links angeboten

Spieler auflisten
Spieler einfügen

Nicht angemeldete Benutzer bekommen nur den Link

Spieler auflisten

Grob gesagt ist der Code von index.php

  
...  
session_start();  
  
if($_SESSION['authenticated']) {  
 $log_flag = "li";  
} else {  
 $log_flag = "lo";  
}  
  
$cmd = $_REQUEST['cmd'];  
$id = $_GET['id'];  
  
switch($cmd) {  
 ...  
 case 'players':  
  $base['content'] = ListAllPlayers();  
  $navi = "players_navigation_".$log_flag;  
  // $base wird nachher ins Template eingefügt,  
  // ebenso der Inhalt von $navi  
  exit;  
 case 'iplayer';  
  $base['content'] .= BuildFormPlayerData();  
  $navi = "players_navigation_$log_flag";  
  break;  
 ...  
}  
...  

Nun gibt es auch Requests die Formulare aufbauen, die ein nicht angemeldeter Benutzer gar nicht zu sehen bekommen soll (und auch nicht bekommt, wenn er nur über die Links navigiert). Um zu verhindern, dass z.B. der über die Adressleiste eingebene Request index.php?cmd=iplayer ein Formular aufbaut, mit dem man einen Spieler in die Datenbank eintragen kann, frage ich in allen relevanten Funktionen (hier BuildFormPlayerData()) ab, ob der Benutzer angemeldet ist. Wenn nicht, geht es zurück auf index.php.

Was muss ich bei diesem Konzept sonst noch beachten? Was benutzt ihr für Autorisierungkonzepte, bzw. wie baut ihr eure dynamische Seiten auf?

Viele Grüße,

Stefan