Authentification: Difference between revisions

Jump to navigation Jump to search
m
Line 6: Line 6:
== Processus ==
== Processus ==


Le processus démarre par les inclusions de htdocs/index.php, qui est la première page que l'on charge pour s'authentifier dans Dolibarr. Pourtant, ce n'est pas index.php qui commence réellement le boulot, mais bien main.inc.php, inclut par pre.inc.php, lui même inclut par index.php. Nous avons donc:
Le processus démarre par l'appel de la page que l'on souhaite voir. Par exemple, la page d'accueil htdocs/index.php. Mais ce n'est pas ce fichier assure la demande d'authentification. En fait toute page de Dolibarr inclut un fichier pre.inc.php qui lui même inclut le fichier main.php qui inclut master.php.
 
Nous avons donc:
<pre>
<pre>
  <index.php>
  <index.php>
Line 23: Line 23:
Le #1# représente le chargement de tout un tas de librairie que nous utiliserons par la suite, ainsi que l'initialisation du contexte d'exécution du code PHP (langue, configuration, utilisateur vierge).
Le #1# représente le chargement de tout un tas de librairie que nous utiliserons par la suite, ainsi que l'initialisation du contexte d'exécution du code PHP (langue, configuration, utilisateur vierge).


Le #2# représente l'exécution de code propre à l'interface graphique dont le login. C'est la que l'objet utilisateur est initialisé:
Le #2# représente l'exécution de code propre à l'authentification: La verification que l'on ait dans une session loguée et si ce n'est pas le cas l'affichage de l'écran de login. C'est la que l'objet utilisateur est initialisé:


L'exécution du login, elle, se présente comme suit:
L'exécution du login, elle, se présente comme suit:
Line 33: Line 33:
  // A l'issu de cette phase, la variable $login sera définie.
  // A l'issu de cette phase, la variable $login sera définie.
  $login='';
  $login='';
  if (! session_id() || ! isset($_SESSION["dol_user"]) || ! isset($_SESSION["dol_token"]))
  if (! session_id() || ! isset($_SESSION["dol_user"]))
  {
  {
   # Procédure de login #
   # Procédure de login. Affiche page login #
  }
  }
  else
  else

Navigation menu