He logrado instalar OTRS 3.2.2 sobre Centos 6.3 y realizar la autenticación de los agentes contra AD. Ahora estoy intentando realizar la autenticación de los clientes a través de AD también y aunque he intentado muchas configuraciones y he realizado bastantes cambios no he logrado que funcione.
Según entiendo de acuerdo con todo lo que he leído en este foro y en otras guías, el problema que tengo es que aunque la autenticación se realiza correctamente, no se crean los usuarios en la base de datos local y por esta razón el usuario no logra ingresar.
Los usuarios (clientes) se conectan a la url http://mi-direccion-ip/otrs/customer.pl y aparece el siguiente mensaje:
Authentication succeeded, but no customer record is found in the customer backend. Please contact your administrator
En el log aparecen que la autenticación fue correcta:
Mar 12 11:42:30 mesadeayuda OTRS-CGI-10[2619]: [Notice][Kernel::System::CustomerAuth::LDAP::Auth] CustomerUser: user (CN=user,OU=,DC=dominio,DC=com) authentication ok (REMOTE_ADDR: 10.206.1.96).
Seguido de varios errores:
Mar 12 11:42:30 mesadeayuda OTRS-CGI-10[2619]: [Error][Kernel::System::CustomerUser::LDAP::_Connect][Line:202]: First bind failed! 80090308: LdapErr: DSID-0C090334, comment: AcceptSecurityContext error, data 525, vece
Mar 12 11:42:30 mesadeayuda OTRS-CGI-10[2619]: [Error][Kernel::System::CustomerUser::SetPreferences][Line:549]: No such user 'user!
Mar 12 11:42:30 mesadeayuda OTRS-CGI-10[2619]: [Error][Kernel::System::CustomerUser::LDAP::CustomerUserDataGet][Line:762]: Can't contact LDAP server
Mar 12 11:42:30 mesadeayuda OTRS-CGI-10[2619]: [Error][Kernel::System::CustomerUser::LDAP::_Connect][Line:202]: First bind failed! 80090308: LdapErr: DSID-0C090334, comment: AcceptSecurityContext error, data 525, vece
La configuración que he realizado en el archivo /opt/otrs/Kernel/Config.pm es
Code: Select all
# Customer User (customer user ldap backend and settings)
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host'} = 'mydc.domain.com';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'DC=domain,DC=com';
$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'DN';
#Usuario a traves del cual se hara la conexion con AD
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'CN=otrs,OU=Usuarios,DC=domain,DC=com';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'pass';
# Ojo este filtro permite la autenticacion contra AD
$Self->{'Customer::AuthModule::LDAP::AlwaysFilter'} = '(objectclass=user)';
# Customer user database backend and settings
$Self->{CustomerUser} = {
Name => 'LDAP Data Source',
Module => 'Kernel::System::CustomerUser::LDAP',
Params => {
Host => 'mydc.domain.com',
BaseDN => 'DC=domain,DC=com',
SSCOPE => 'sub',
UserDN => 'CN=otrs,OU=Usuarios,DC=domain,DC=com',
UserPw => 'pass',
AlwaysFilter => '(objectclass=user)',
Params => {
port => 389,
timeout => 120,
async => 0,
version => 3,
},
},
ReadOnly => 1,
#customer unique id
CustomerKey => 'sAMAccountName',
#customer#
CustomerID => 'uid',
CustomerUserListFields => ['sAMAccountName', 'cn', 'mail' ],
CustomerUserSearchFields => [ 'sAMAccountName', 'cn', 'mail' ],
CustomerUserSearchPrefix => '',
CustomerUserSearchSuffix => '*',
CustomerUserSearchListLimit => 250,
CustomerUserPostMasterSearchFields => ['mail'],
CustomerUserNameFields => ['givenname', 'sn'],
CustomerUserExcludePrimaryCustomerID => 0,
AdminSetPreferences => 0,
Map => [
# Son obligatorios Login, Email y CustomerID
[ 'UserFirstname', 'Firstname', 'givenName', 1, 1, 'var','',0 ],
[ 'UserLastname', 'Lastname', 'sn', 1, 1, 'var','', 0 ],
[ 'UserLogin', 'Login', 'sAMAccountName', 1, 1, 'var','',0 ],
[ 'UserEmail', 'Email', 'mail', 1, 1, 'var','',0 ],
[ 'UserCustomerID', 'CustomerID', 'mail', 0, 1, 'var','',0 ],
[ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var','',0 ],
],
};
Creo que el problema está en la sección que está después de CustomerKey, pero la verdad no entiendo muy bien a que corresponden los campos
CustomerKey
CustomerID
CustomerUserListFields
CustomerUserSearchFields
CustomerUserSearchPrefix
CustomerUserSearchSuffix
NI tampoco como se hace el mapeo en la sección Map.
De antemano gracias por cualquier colaboración