Secciones

Autenticarse en dokuwiki con MySql

Inicio » Artículos » Autenticarse en dokuwiki con MySql
La categoría del artículo es
Escrito el 13 September 2007, 13:46


Para quien no lo conozca todavia, Dokuwiki es un sistema de documentación via web, genial para el trabajo colaborativo y muy sencillo de utilizar. Los requerimientos para instalar dokuwiki se reducen simplemente a disponer de un servidor con PHP (preferible PHP5).

Dokuwiki tiene por defecto un sistema de autenticación basada en archivos, donde los usuarios son añadidos a un fichero de texto plano. En este ejemplo, vamos a cambiar este sistema de autenticación utilizando ficheros de texto plano, por otro que utilice la información almacenada en una base de datos MySql. Con esto nos evitamos tener que registrar a todos los usuarios que ya tuviéramos en otra base de datos.

Parto de que ya teneis instalado la última versión estable de dokuwiki en un servidor web (cuando escribo esto es la versión 2007-06-26b). Dokuwiki tiene un archivo de configuración alojado en conf/dokuwiki.php con una sección destinada a las opciones de autenticación. La primera opción que debemos modificar es $conf[‘authtype’] = ‘plain’ por $conf[‘authtype’] = ‘mysql’ y posteriormente añadir los siguientes valores:


$conf[‘auth’][‘mysql’][‘server’] = ‘localhost’;
$conf[‘auth’][‘mysql’][‘user’] = ‘user_database’;
$conf[‘auth’][‘mysql’][‘password’] = ‘passwd_database’;
$conf[‘auth’][‘mysql’][‘database’] = ‘database_name’;
$conf[‘auth’][‘mysql’][‘forwardClearPass’] = 1;
$conf[‘auth’][‘mysql’][‘charset’] = ‘utf8’;
$conf[‘auth’][‘mysql’][‘checkPass’] = “SELECT password as pass FROM users AS ug WHERE dni = ‘AND password = ‘{pass}’”;
$conf[‘auth’][‘mysql’][‘getUserInfo’] = “SELECT password, name, email AS mail FROM users WHERE dni = ‘%{user}’”;
$conf[‘auth’][‘mysql’][‘getGroups’] = “SELECT ‘user’ as ‘group’ FROM users u”;

De estos parámetros, tendreis que modificar tanto los valores de conexión con la base de datos como las sentencias SQL para comprobar los datos introducidos por los usuarios y para recibir la información de los mismos.


Espero tus comentarios...

  1. # Jose, Apr 3, 03:55 AM:

    Buenas! Amigo veo que te la llevas muy bien con dokuwiki… yo estoy implementando dokuwiki en una aplicación web, pero es un requerimiento que en vez de almacenar los articulos en ficheros .txt, se guarden en una base de datos (mysql… sabes como hacer eso? tienes el código necesario? Te lo agradezco. Gracias)

  2. # Programador web Cádiz, Sep 10, 04:58 PM:

    Interesante tema, gracias por la información sigan publicando.

your_ip_is_blacklisted_by sbl.spamhaus.org.