Login Customer sin permisos para ver sus tickets

Post Reply
camilonavarrete
Znuny newbie
Posts: 21
Joined: 30 Aug 2019, 19:06
Znuny Version: 6.0.15

Login Customer sin permisos para ver sus tickets

Post by camilonavarrete »

Hola!, estoy implementando el formulario de tickets para el cliente.

Tengo vinculado el login mendiante el Active Directory, el cual se loguea con el nombre de usuario de la maquina, todo configurado en el archivo Config.pm

El archivo es algo asi:

Code: Select all


	#Enable LDAP authentication for Customers / Users
    $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
    $Self->{'Customer::AuthModule::LDAP::Host'} = 'XX.XX.XX.XX';
    $Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=XX,dc=local';
    $Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName'; 
	$Self->{'AuthSyncModule::LDAP::UID'} = 'mail';

    # The following is valid but would only be necessary if the
    # anonymous user do NOT have permission to read from the LDAP tree
    $Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'CN=Administrator,OU=Genericas,OU=Onpremises,DC=XX,DC=local';
    $Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'password';
	
	

    # CustomerUser
    # (customer user database backend and settings)
    $Self->{CustomerUser} = {
       Module => 'Kernel::System::CustomerUser::LDAP',
       Params => {
          Host => 'XX.XX.XX.XX',
          BaseDN => 'DC=XX,DC=local',
          SSCOPE => 'sub',
          UserDN =>'CN=Administrator,OU=Genericas,OU=Onpremises,DC=XX,DC=local',
          UserPw => 'pasword',
       },





# customer unique id
       CustomerKey => 'sAMAccountName',  #LLAVE CLIENTE QUE INDICA CON QUE PARAMETRO INGRESA AL LOGIN
       # customer #
       CustomerID => 'mail',
       CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
       CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
       CustomerUserSearchPrefix => '',
       CustomerUserSearchSuffix => '*',
       CustomerUserSearchListLimit => 250,
       CustomerUserPostMasterSearchFields => ['mail'],
       CustomerUserNameFields => ['givenname', 'sn'],
       Map => [
          # note: Login, Email and CustomerID needed!
          # var, frontend, storage, shown, required, storage-type
          #[ 'UserSalutation', 'Title', 'title', 1, 0, 'var' ],
          [ 'UserFirstname', 'Firstname', 'givenname', 1, 1, 'var' ],
          [ 'UserLastname', 'Lastname', 'sn', 1, 1, 'var' ],
          [ 'UserLogin', 'Login', 'sAMAccountName', 1, 1, 'var' ],
          [ 'UserEmail', 'Email', 'mail', 1, 1, 'var' ],
          [ 'UserCustomerID', 'CustomerID', 'mail', 0, 1, 'var' ],
          [ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var' ],
          #[ 'UserAddress', 'Address', 'postaladdress', 1, 0, 'var' ],
          #[ 'UserComment', 'Comment', 'description', 1, 0, 'var' ],
       ],
    };



Yo en las lineas

Code: Select all

    $Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName'; 

    CustomerKey => 'sAMAccountName', 
Cambie la variable sAMAccountName por la variable mail para que pudiese ingresar al login mediante el mail y no el usuario AD. (aunque el mail igual pertenece al ad), y todo perfecto, se loguea, pero al querer ver los tickets me dice que no hay permisos, a diferencia de que si dejo sAMAccountName todo funciona perfecto.

Supongo que los tickets estan ligados a la llave que correspondia al nombre de usuario o algo asi, pero no se donde puedo cambiarlo. Intente crear un ticket nuevo para ver si esta vez se creaba con la llave del mail pero tampoco es asi, asi que supongo que en algun lado, quizas en el Core o en algun archivo este seteado los tickets para ser pareados con sAMAccountName.

Alguna idea?

Muchas gracias!!
GerardoDias
Znuny newbie
Posts: 9
Joined: 11 Sep 2025, 19:32
Znuny Version: Znuny 7.2.1
Real Name: Gerardo
Company: uneg
Contact:

Re: Login Customer sin permisos para ver sus tickets

Post by GerardoDias »

Parece que el problema es que OTRS usa CustomerKey para asociar tickets al usuario, y actualmente tus tickets siguen vinculados al sAMAccountName. Cambiar CustomerKey a mail solo afecta el login, pero los tickets existentes no se re-asocian automáticamente.

Opciones:

Mantener CustomerKey => 'sAMAccountName' y usar sAMAccountName para asociar tickets; luego permitir login con mail mediante un alias o modificación en el frontend.

Si quieres que CustomerKey sea mail, tendrías que migrar los tickets existentes cambiando la columna customer_id en la tabla ticket para que coincida con el mail en lugar del sAMAccountName.

Para tickets nuevos, asegúrate de que al crear un ticket el CustomerID se esté llenando con el mail. Esto puede requerir ajustar Map o la plantilla de creación de tickets.

En resumen: el login con mail funciona, pero los tickets están ligados al sAMAccountName. O migras los tickets o sigues usando sAMAccountName como CustomerKey.
Post Reply