Autentificación: Difference between revisions

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
(Updated include names)
m (Oops, wrong path)
Line 58: Line 58:
Hay un archivo por módulo. Cada uno proporciona un tipo diferente de control.
Hay un archivo por módulo. Cada uno proporciona un tipo diferente de control.


* El fichero '''htdocs/include/core/functions_http.php''' controla la validación del conjunto usuario/contraseña por una autentificación del tipo http Basic.
* El fichero '''htdocs/core/login/functions_http.php''' controla la validación del conjunto usuario/contraseña por una autentificación del tipo http Basic.
* El fichero '''htdocs/include/core/functions_ldap.php''' verifica la validez del conjunto usuario/contraseña en un anuario LDAP.
* El fichero '''htdocs/core/login/functions_ldap.php''' verifica la validez del conjunto usuario/contraseña en un anuario LDAP.
* El fichero '''htdocs/include/core/functions_dolibarr.php''' verifica la validez del conjunto usuario/contraseña en la base de datos Dolibarr.
* El fichero '''htdocs/core/login/functions_dolibarr.php''' verifica la validez del conjunto usuario/contraseña en la base de datos Dolibarr.


Cada fichero contiene unicamente una función '''check_user_password_xxx''' pero Dolibarr utilizará uno. Este será el que cuyo valor'' 'xxx''' sea el valor de la variable '''dolibarr_main_authentication''' de '''conf/conf.php'''.
Cada fichero contiene unicamente una función '''check_user_password_xxx''' pero Dolibarr utilizará uno. Este será el que cuyo valor'' 'xxx''' sea el valor de la variable '''dolibarr_main_authentication''' de '''conf/conf.php'''.


En este archivo, Dolibarr solicita la función que encuentre y le envía como parámetros el usuario y la contraseña. La función devolverá si el conjunto es válido.
En este archivo, Dolibarr solicita la función que encuentre y le envía como parámetros el usuario y la contraseña. La función devolverá si el conjunto es válido.

Revision as of 13:59, 29 May 2013




Introducción

El sistema de autenticación de Dolibarr es relativamente complejo, y un error puede ser especialmente difícil de encontrar a menos conozcamos el proceso de autenticación. Esta página presenta una descripción del proceso, que permite el seguimiento del procedimiento, permitiendo la intervención cuando sea necesario.

Proceso

El proceso se inicia llamando a la página que deseamos ver. Por ejemplo, la página principal htdocs/index.php. Pero este no es el archivo de la solicitud de autenticación asegura. De hecho, cualquier página Dolibarr incluye un fichero main.inc.php que el mismo incluye el fichero master.inc.php. Tenemos pues:

 <paginas.php>
     <main.inc.php>
       <master.inc.php>
         #1#
       </master.inc.php>
       #2#
       if (! isset($_SESSION["dol_login"]))
       {
         if (isset($_POST["username"]))
         {
           ...
           // if user and pass are ok, we set $login
           $login=
         }
         if (! $login)
         { 
	   // We show login page
	   include_once(DOL_DOCUMENT_ROOT."/lib/security.lib.php");
	   dol_loginfunction($langs,$conf,$mysoc);
	   exit;
         }
         ...
       }
     </main.inc.php>
   #3#
 </paginas.php>


El #1# representa la carga de una pila de librerias que vamos a usar, y la inicialización del contexto de la ejecución de código PHP (idioma, configuración, usuario, etc.).

El #2# representa la ejecución del código específico para la autenticación: La verificación de que estamos en una sesión iniciada y de lo contrario mostar la pantalla de login.

El #3# sirve para comprobar los permisos y mostrar la página. Vea la página Permisos para más información.

Los módulos de login

Los módulos de login son archivos que contienen las funciones que controlan la validación de un conjunto usuario/contraseña.

Hay un archivo por módulo. Cada uno proporciona un tipo diferente de control.

  • El fichero htdocs/core/login/functions_http.php controla la validación del conjunto usuario/contraseña por una autentificación del tipo http Basic.
  • El fichero htdocs/core/login/functions_ldap.php verifica la validez del conjunto usuario/contraseña en un anuario LDAP.
  • El fichero htdocs/core/login/functions_dolibarr.php verifica la validez del conjunto usuario/contraseña en la base de datos Dolibarr.

Cada fichero contiene unicamente una función check_user_password_xxx' pero Dolibarr utilizará uno. Este será el que cuyo valor 'xxx sea el valor de la variable dolibarr_main_authentication de conf/conf.php.

En este archivo, Dolibarr solicita la función que encuentre y le envía como parámetros el usuario y la contraseña. La función devolverá si el conjunto es válido.