Autenticación contra LDAP desde MediaWiki
MediaWiki es un software para Wikis, tiene manejo de usuarios y es posible, además de autenticación local, autenticar contra LDAP. En este caso el sistema creará una cuenta local asociada, la cual se podrá gestionar en el sistema como cualquier otra cuenta.
Existen varios métodos para la autenticación contra el LDAP institucional.
Contenido
Instalación de la extensión
Para habilitar la funcionalidad, se requiere de la extensión LDAP_Authentication[1].
- Descargue la última versión estable desde: https://www.mediawiki.org/wiki/Special:ExtensionDistributor/LdapAuthentication
- Descomprima en el directorio extensions
- Edite el archivo de configuración de MediaWiki, LocalSettings.php, y añada las líneas:
## LDAP
# Domain, server and connection
require_once( "$IP/extensions/LdapAuthentication/LdapAuthentication.php" );
$wgAuth = new LdapAuthenticationPlugin();
$wgLDAPDomainNames = array(
'LDAP2-UCR'
);
$wgLDAPServerNames = array(
'LDAP2-UCR' => 'ldap2.ucr.ac.cr'
);
$wgLDAPUseLocal = true;
$wgLDAPEncryptionType = array(
'LDAP2-UCR' => 'ssl'
);
$wgLDAPPort = array(
'LDAP2-UCR' => 636
);
Configuración de la extensión
Método 1: Utilizando las credenciales del usuario que se está autenticando
Si bien se puede configurar una cuenta, previamente generada, para hacer las consultas, también es posible utilizar las credenciales del usuario por autenticar.
Para ello, edite el archivo LocalSettings.php y añada las líneas:
# Binding
$wgLDAPSearchStrings = array(
'LDAP2-UCR' => 'uid=USER-NAME,cn=users,cn=accounts,dc=ucr,dc=ac,dc=cr'
);
$wgLDAPBaseDNs = array(
'LDAP2-UCR' => 'dc=ucr,dc=ac,dc=cr'
);
$wgLDAPUserBaseDNs = array(
'LDAP2-UCR' => 'cn=users,cn=accounts,dc=ucr,dc=ac,dc=cr'
);
USER-NAME será reemplazado en tiempo de ejecución por el nombre del usuario a autenticar.
Método 2: Utilizando un usuario de consultas previamente generado
Por hacer
Bitácoras para debugging
Si tiene problemas con la configuración puede habilitar las bitácoras (logs) para obtener más información del proceso de autenticación. Para ello edite el archivo de configuración LocalSettings.php y añada las siguientes líneas:
# Logs
$wgLDAPDebug = 3;
$wgDebugLogGroups['ldap'] = 'debug.log';
De esta manera se generará un archivo llamado debug.log en el directorio de MediaWiki, también puede indicar otra ruta.
Para leer la bitácora en tiempo real ejecute el siguiente comando:
tail -f debug.log
Una vez corregidos los errores puede eliminar o comentar esas líneas, o bien bajar el nivel de 3 a 1 para evitar registrar información sensible.