SOLUCIONADO"LDAP-BBDD-PARA CUSTOMER"

Post Reply
ioviedo
Znuny newbie
Posts: 63
Joined: 22 Jan 2013, 19:26
Znuny Version: 3.1.12
Real Name: Iván Oviedo
Company: ESPOl

SOLUCIONADO"LDAP-BBDD-PARA CUSTOMER"

Post by ioviedo »

Saludos a todos, gracias por su contribución para este foro.

Por favor, necesito vuestra ayuda colegas. Les planteo mi situación en cuanto a los usuarios Customer:

Eh integrado LDAP para los Customer y los agentes, lo que he logrado de resultado EN CUANTO A LOS CUSTOMERS es que al crear primero manualmente a cada usuario sin ponerle ninguna clave, en la interfaz web del Agente administrador (localhost/otrs/index.pl), el customer al ingresar a su interfaz web (localhost/otrs/customer.pl) ingresa con su usuario y contraseña del LDAP (Se autentica contra LDAP). La configuración que hice fue la siguiente:

# This is an example configuration for an LDAP auth. backend.
# (make sure Net::LDAP is installed!)
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host'} = '192.168.2.25:389:389';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=dominio,dc=com,dc=ec';
$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'CN=buscador,OU=Users,DC=dominio,DC=com,DC=ec';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'password';
$Self->{'Customer::AuthModule::LDAP::Params'} = {
port => 389,
timeout => 120,
async => 0,
version => 3,
};

En cambio para los agentes,

Yo no necesito crearlos primero en la base de otrs y luego que se logeen, NO si no que por ejemplo: El agente "Daniel Ponce" ingresa su usuario "dponce" y contraseña "daniel152" que son las que estan registradas en LDAP, automaticamente ingresa a la interfaz web del agente y se crea su cuenta en la base de datos de OTRS.

Por eso es mi pregunta, necesito hacer lo mismo para los customer, porque tenemos aproximadamente 1000 y no seria recomendable crearlos manualmente a cada uno de ellos


Por favor necesito vuestra ayuda.

Saludos

Les escribo la configuración que le puse a los agentes:

# Aqui empieza nueva configuracion para la integracion LDAP #

$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = '192.168.2.25:389';
$Self->{'AuthModule::LDAP::BaseDN'} = 'dc=dominio,dc=com,dc=ec';
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'CN=buscador,OU=Users,DC=dominio,DC=com,DC=ec';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'password';
$Self->{'AuthModule::LDAP::Params'} = {
port => 389,
timeout => 120,
async => 0,
version => 3,
};

# agent data sync against ldap
$Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
$Self->{'AuthSyncModule::LDAP::Host'} = '192.168.2.25:389';
$Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=dominio,dc=com,dc=ec';
$Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'CN=buscador,OU=Users,DC=dominio,DC=com,DC=ec';
$Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'password';
$Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
# DB -> LDAP
UserFirstname => 'givenName',
UserLastname => 'name',
UserEmail => 'mail',
};
$Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [
'users',
];
Last edited by ioviedo on 01 Mar 2013, 03:14, edited 1 time in total.
carlosgallego
Znuny expert
Posts: 241
Joined: 17 Nov 2011, 18:17
Znuny Version: 2.4-3.0-3.1-3.2- 3.3
Real Name: Carlos Gallego
Location: Medellin, Colombia

Re: LDAP-BBDD-PARA CUSTOMER

Post by carlosgallego »

Hola ioviedo,

Realmente requieres los clientes en BD o ya evaluaste simplemente dejar el LDAP como origen de los clientes es decir como BackEnd con eso evitarias crearlos en BD. y siempre estaria actualizado el listado de clientes basado en el AD o LDAP

Saludos

Carlos Gallego
OTRS 2.4.7 > 3.3 Ubuntu Server - Centos - RedHat, MySQL - PostgresSQL OracleDB
ioviedo
Znuny newbie
Posts: 63
Joined: 22 Jan 2013, 19:26
Znuny Version: 3.1.12
Real Name: Iván Oviedo
Company: ESPOl

Re: LDAP-BBDD-PARA CUSTOMER

Post by ioviedo »

Saludos, Carlos Gallego

Muchas Gracias por tu respuesta estimado compañero. Realice un Backend de ldap para traer a la base de datos, afortunadamente ya puedo ver en el campo customer todos los usuario del directorio de AD. Pero tengo un problema que al abrir el perfil de un usuario no posee el campo Password ni Valido. Por lo que permite loguear a los customer. Les presento mi configuración:

# This is an example configuration for an LDAP auth. backend.
# (take care that Net::LDAP is installed!)
$Self->{AuthModule} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = '192.168.0.17:389';
$Self->{'AuthModule::LDAP::BaseDN'} = 'dc=dominio,dc=org,dc=ec';
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'cn=usuario_buscador,ou=Users,dc=dominio,dc=org,dc=ec';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'passworusuario_buscador;

# Net::LDAP new params (if needed - for more info see perldoc Net::LDAP)
$Self->{'AuthModule::LDAP::Params'} = {
port => 389,
timeout => 120,
async => 0,
version => 3,
};

# --------------------------------------------------- #
# authentication sync settings #
# (enable agent data sync. after succsessful #
# authentication) #
# --------------------------------------------------- #
# This is an example configuration for an LDAP auth sync. backend.
# (take care that Net::LDAP is installed!)
$Self->{AuthSyncModule} = 'Kernel::System::Auth::Sync::LDAP';
$Self->{'AuthSyncModule::LDAP::Host'} = '192.168.0.17:389';
$Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=dominio,dc=org,dc=ec';
$Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'cn=usuario_buscador,ou=Users,dc=dominio,dc=org,dc=ec';
$Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'passworusuario_buscador';

# AuthSyncModule::LDAP::UserSyncMap
# (map if agent should create/synced from LDAP to DB after successful login)
$Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
# DB -> LDAP
UserFirstname => 'givenName',
UserLastname => 'sn',
UserEmail => 'mail',
};

# Net::LDAP new params (if needed - for more info see perldoc Net::LDAP)
$Self->{'AuthSyncModule::LDAP::Params'} = {
port => 389,
timeout => 120,
async => 0,
version => 3,
};

# Die if backend can't work, e. g. can't connect to server.
$Self->{'AuthSyncModule::LDAP::Die'} = 1;


#----------------------------------------------------------------------#
# This is an example configuration for an LDAP auth. backend.
# (take care that Net::LDAP is installed!)
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host'} = '192.168.0.17:389';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=dominio,dc=org,dc=ec';
$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'cn=usuario_buscador,ou=Users,dc=dominio,dc=org,dc=ec';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'paswordusuario_buscador';

# Net::LDAP new params (if needed - for more info see perldoc Net::LDAP)
$Self->{'Customer::AuthModule::LDAP::Params'} = {
port => 389,
timeout => 120,
async => 0,
version => 3,
};


# --------------------------------------------------- #
# Start of config options!!! #
# CustomerUser stuff #
# --------------------------------------------------- #
# CustomerUser
# (customer user ldap backend and settings)
$Self->{CustomerUser} = {
Name => 'LDAP Backend',
Module => 'Kernel::System::CustomerUser::LDAP',
Params => {
# ldap host
Host => '192.168.0.17:389',
# ldap base dn
BaseDN => 'dc=dominio,dc=org,dc=ec',
# search scope (one|sub)
SSCOPE => 'sub',
UserDN => 'cn=usuario_buscador,ou=Users,dc=dominio,dc=org,dc=ec',
UserPw => 'paswordusuario_buscador',

# Net::LDAP new params (if needed - for more info see perldoc Net::LDAP)
Params => {
port => 389,
timeout => 120,
async => 0,
version => 3,
},
},
# customer unique id
CustomerKey => 'sAMAccountName',
# customer #
CustomerID => 'mail',
CustomerUserListFields => ['cn', 'mail'],
CustomerUserSearchFields => ['mail'],
CustomerUserSearchPrefix => '',
CustomerUserSearchSuffix => '*',
CustomerUserSearchListLimit => 20,
CustomerUserPostMasterSearchFields => ['mail'],
CustomerUserNameFields => ['givenname', 'sn'],

# cache time to live in sec. - cache any ldap queries
CacheTTL => 0,
Map => [
# note: Login, Email and CustomerID needed!
# var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly
[ 'UserTitle', 'Title', 'title', 1, 0, 'var', '', 0 ],
[ 'UserFirstname', 'Firstname', 'givenname', 1, 1, 'var', '', 0 ],
[ 'UserLastname', 'Lastname', 'sn', 1, 1, 'var', '', 0 ],
[ 'UserLogin', 'Username', 'sAMAccountName', 1, 1, 'var', '', 0 ],
[ 'UserEmail', 'Email', 'mail', 1, 1, 'var', '', 0 ],
[ 'UserCustomerID', 'CustomerID', 'mail', 0, 1, 'var', '', 0 ],
# [ 'UserCustomerIDs', 'CustomerIDs', 'second_customer_ids', 1, 0, 'var', '', 0 ],
[ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var', '', 0 ],
[ 'UserAddress', 'Address', 'postaladdress', 1, 0, 'var', '', 0 ],
[ 'UserComment', 'Comment', 'description', 1, 0, 'var', '', 0 ],
],
};




Gracias de antemano, saludos desde Ecuador.
Post Reply