Salut !
Decidement je post bcp en ce moment, le fait de developper un intranet de A à Z de mes mains quand on est pas un expert du PHP fait que je passe plus de temps sur google et les forum a chercher.
Donc j'ai cherché et j'ai pas trouvé, ou bien en partie mais je galere pour mettre en place tout ca...
CONTEXTE :
J'ai un intranet avec une partie publique et un sous rep partie privée (reservé a certain utilisateurs).
racine : /intranet/
partie protéger par authentification : /intranet/prive/
J'ai un repertoire /intranet/inc qui contient config.php (dedans ya toute les variables necessaire , par exemple les parametre de connection mysql sous cette forme :
$mysql_host = "localhost"; // adresse du serveur mysql
$mysql_user = "root"; // Utilisateur Mysql
$mysql_pwd = "toto"; // mot de passe
$mysql_db = "intranet"; //nom de la base
$mysql_prefix = "intranet_"; //préfixe des tables
CE QUE JE VEUX FAIRE :
Un fichier /intranet/inc/auth.php que je vais include dans toute les pages du dossier /intranet/prive et ses sous dossiers.
dans ce fichier je veux le script d'authentification en utilisant les
header html de PHP et une table MySQL (intranet_users) ou est stocké les compte d'utilisateur et les mots de passe .
j'ai un exemple de script mais il fonctionne uniquement en placant les variable $user et $pass au debut, moi je ne veux pas renseigner les login et mot de passe dans le fichier mais dans la base SQL
1. <?php
2.
3. $user = "admin";
4. $pwd = "toto";
5.
6. function auth(){
7.
8. $realm="Authentification Intranet";
9.
10. Header("WWW-Authenticate: Basic realm='".$realm."'");
11. Header("HTTP/1.0 401 Unauthorized");
12.
13. echo "Acces non autorise";
14. // la redirection est impossible
15. // mais vous pouvez inclure une page html d'erreur
16. // include "erreur401.html";
17.
18. exit;
19. }
20.
21. if( !isset($_SERVER['PHP_AUTH_USER']) && !isset($_SERVER['PHP_AUTH_PW']) ) {
22. auth();
23. }
24. else {
25. if( $_SERVER['PHP_AUTH_USER']==$user && $_SERVER['PHP_AUTH_PW']==$pwd ) {
26. // la suite du script sera exécutée
27. }
28. else{
29. // rappel de la fonction d'identification
30. auth();
31. }
32. }
33. ?>
34.
merci !
pendant ce temps je continu mes tests et mes recherches