Mailinglisten-Archive |
Hallo Oliver,
stoß mit dem php doch den Authorizationsprozeß an, dann kommt diese graue Dialogbox wie bei der .htaccess-Datei und Du kannst trotzdem mit einer Datenbankabfrage überprüfen, ob jemand die notwendigen Rechte hat oder nicht. Folgender Teil-Code zeigt Dir wie es geht:
if (!isset($PHP_AUTH_USER)){
Header("WWW-Authenticate: Basic realm=\"Selbstpflege\"");
Header("HTTP/1.0 401 Unauthorized");
echo "Zugriff nicht gestattet!\n";
exit;
}
else
{
$db->query("SELECT perms FROM login WHERE username='$PHP_AUTH_USER' AND password='$PHP_AUTH_PW'");
$num=$db->num_rows();
if ($num>0){
$db->next_record();
rechte = $db->f("perms");
$t->set_file("menue","index_home.htm");
switch ($rechte){
case "readonly":
// hier weiterer code
break;
case "write":
// hier weiterer code
break;
}
$t->parse("Ausgabe","menue");
$t->p("Ausgabe");
}
else
{
echo "Zugriff nicht gestattet!\n";
}
}
Die Datenbankabfrage mache ich mit einer Methode aus der PHPLIB, die kannste aber auch durch ein mysql_query ersetzen. Die Tabelle ist so aufgebaut: username,password,perms,sessionid,timestamp.
Die Variablen $PHP_AUTH_USER und $PHP_AUTH_PW werden nur gesetzt, wenn die graue Dialogbox ausgefüllt wird und der OK-Button gedrückt wurde.
Ich hoffe das hilft.
Viele Grüße aus Bad Schwartau
Ralf
4de frames & graphics gmbh
Riesebusch 38 c - 23611 Bad Schwartau
Tel.: 0451-2801401 - Fax: 0451-2801402
www.4de.de
php::bar PHP Wiki - Listenarchive