Re: OTRS config : LDAP and Consumers

Joel Marchand <[email protected]>
Newsgroups gmane.comp.otrs.user
Message-ID <20161104134740.GJ29152@pcjma-new>
	Hi

Thanks for your email.

I understand that the two parts

    $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
    $Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = $SearchUserDN;
    $Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = $SearchUserPw;
    $Self->{'Customer::AuthModule::LDAP::Host'} = $Host;
    $Self->{'Customer::AuthModule::LDAP::BaseDN'} = $Base;
    $Self->{'Customer::AuthModule::LDAP::UID'} = 'uid';
    $Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'uid';
    $Self->{'Customer::AuthModule::LDAP::AlwaysFilter'} = '(objectclass=posixAccount)';
    $Self->{'Customer::AuthModule::LDAP::Params'} = $Params;

and

    $Self->{CustomerUser} = {
		Name => 'LDAP Backend',
            	Module => 'Kernel::System::CustomerUser::LDAP',
            	Params => {
	...
                [ 'UserComment',    'Comment',    'description',     1, 0, 'var', '', 0 ],
            ],
	}

are necessary. Sorry for this mistake.

So I put these two parts in my configuration
	- the first : very similar to the "$Self->{'AuthModule'}" part
	- the second : very carefully edited from Config/Defaults.pm

But I get the same messages when I try to connect

	- Web interface : Panic, user authenticated but no user data can be found in OTRS DB!! Perhaps the user is invalid. 
	
	- error_log : Message: No UserID found for 'jma'!

It is the same with the line
    $Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'uid';
or with the line
    $Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'UID';

Regards,

	Joel Marchand

PS : one LDIF entry

# jma, people, huma-num.fr
dn: uid=jma,ou=people,dc=huma-num,dc=fr
uid: jma
loginShell: /bin/bash
uidNumber: 30001
gidNumber: 30001
mail: [email protected]
gosaMailDeliveryMode: []
o: CNRS
supannListeRouge: FALSE
dateOfBirth: 1963-08-15
gender: M
co: France
fdPrivateMail: [email protected]
homeDirectory: /home/jma
cn: jma jma
sn: jma
givenName: jma
gecos: jma jma
description: TGIR
sambaSID: S-1-5-21-134782382-3786202306-2389167217-60003
sambaDomainName: DEFAULT
sambaMungedDial: IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgA
 CAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAUAAEABoACA
 ABAEMAdAB4AEMAZgBnAFAAcgBlAHMAZQBuAHQANTUxZTBiYjAYAAgAAQBDAHQAeABDAGYAZwBGAGw
 AYQBnAHMAMQAwMGUwMDAxMBIACAABAEMAdAB4AFMAaABhAGQAbwB3ADAxMDAwMDAwKgACAAEAQwB0
 AHgATQBpAG4ARQBuAGMAcgB5AHAAdABpAG8AbgBMAGUAdgBlAGwAMDA=
sambaAcctFlags: [U           ]
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: posixAccount
objectClass: shadowAccount
objectClass: gosaMailAccount
objectClass: eduPerson
objectClass: supannPerson
objectClass: fdPersonalInfo
objectClass: sambaSamAccount
sambaBadPasswordTime: 0
sambaBadPasswordCount: 0
sambaNTPassword: xxxxxxxxxxxxxxxxxxxxxxxxx
sambaPwdLastSet: 1478193536


Le Fri, Nov 04, 2016 at 08:38:46AM -0400, Gerald Young disait :
> Just for reference, I wrote this old post: http://forums.otterhub.org/
> viewtopic.php?t=16543
> 
> The following are important:
>     $Self->{'Customer::AuthModule::LDAP::UID'} = 'uid';
>     $Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'UID';
> 
> You can change these to mail if you want to try differently.
> 
> On Fri, Nov 4, 2016 at 5:52 AM, Joel Marchand <[email protected]>
> wrote:
> 
> 
>             Hello,
> 
>     My config : Linux CentOS 7 - otrs-5.0.13-01 (from rpm) - OpenLDAP 2.4
> 
>     I have configured OTRS to use LDAP for the Agents authentification. It is
>     OK.
> 
>     I want to do the same for the Consumers. I read many examples, but without
>     success.
> 
>     1/ in the Administration/Consumers panel, I see all my LDAP users like :
> 
>     jjma2 jma2 jma2         [email protected]   [email protected]
> 
>     2/ when I try to login with an LDAP id, I get these message
> 
>              Panic, user authenticated but no user data can be found in OTRS
>     DB!! Perhaps the user is invalid.
> 
>     3/ and in /var/log/httpd/error.log, I get
> 
>     ERROR: OTRS-CGI-38 Perl: 5.16.3 OS: linux Time: Fri Nov  4 10:40:31 2016
> 
>      Message: No UserID found for 'jjma2'!
> 
>      RemoteAddress: 109.190.22.197
>      RequestURI: /otrs/index.pl
> 
>      Traceback (19414):
>        Module: Kernel::System::User::UserLookup Line: 935
>        Module: Kernel::System::Auth::Auth Line: 206
>        Module: Kernel::System::Web::InterfaceAgent::Run Line: 228
>        Module: ModPerl::ROOT::ModPerl::Registry::opt_otrs_bin_cgi_
>     2dbin_index_2epl::handler Line: 40
>        Module: (eval) (v1.99) Line: 207
>        Module: ModPerl::RegistryCooker::run (v1.99) Line: 207
>        Module: ModPerl::RegistryCooker::default_handler (v1.99) Line: 173
>        Module: ModPerl::Registry::handler (v1.99) Line: 32
> 
>     ERROR: OTRS-CGI-38 Perl: 5.16.3 OS: linux Time: Fri Nov  4 10:40:31 2016
> 
>      Message: No UserID found for 'jjma2'!
> 
>      RemoteAddress: 109.190.22.197
>      RequestURI: /otrs/index.pl
> 
>      Traceback (19414):
>        Module: Kernel::System::User::UserLookup Line: 935
>        Module: Kernel::System::Auth::Auth Line: 305
>        Module: Kernel::System::Web::InterfaceAgent::Run Line: 228
>        Module: ModPerl::ROOT::ModPerl::Registry::opt_otrs_bin_cgi_
>     2dbin_index_2epl::handler Line: 40
>        Module: (eval) (v1.99) Line: 207
>        Module: ModPerl::RegistryCooker::run (v1.99) Line: 207
>        Module: ModPerl::RegistryCooker::default_handler (v1.99) Line: 173
>        Module: ModPerl::Registry::handler (v1.99) Line: 32
> 
>     My config is below.
> 
>     Where is my mistake ?
> 
>     Thanks a lot for any suggestion.
> 
>             Joel Marchand
> 
>        $Self->{CustomerUser} = {
>            Name => 'LDAP Backend',
>            Module => 'Kernel::System::CustomerUser::LDAP',
>            Params => {
>                # ldap host
>                Host => 'ldaps://ldapr1.huma-num.fr:636/',
>                # ldap base dn
>                BaseDN => 'dc=huma-num,dc=fr',
>                # search scope (one|sub)
>                SSCOPE => 'sub',
>                # The following is valid but would only be necessary if the
>                # anonymous user does NOT have permission to read from the LDAP
>     tree
>                UserDN => 'cn=otrs,ou=dsa,dc=huma-num,dc=fr',
>                UserPw => 'xxxx',
>                # in case you want to add always one filter to each ldap query,
>     use
>                # this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter
>     => '(objectclass=user)'
>                AlwaysFilter => '(objectclass=posixAccount)',
>                # if the charset of your ldap server is iso-8859-1, use this:
>                # SourceCharset => 'iso-8859-1',
>                # die if backend can't work, e. g. can't connect to server
>                Die => 1,
>                # Net::LDAP new params (if needed - for more info see perldoc
>     Net::LDAP)
>                Params => {
>                    port    => 636,
>                    timeout => 120,
>                    async   => 0,
>                    version => 3,
>                     cafile => '/etc/ssl/certs/star_huma-num_
>     fr-intermediate.pem',
>                     clientcert => '/etc/ssl/certs/star_huma-num_fr.pem',
>                     clientkey => '/etc/ssl/private/star_huma-num_fr.key',
>                },
>            },
>            # customer unique id
>            CustomerKey => 'uid',
>            # customer #
>            CustomerID => 'mail',
>            CustomerUserListFields => ['cn', 'mail'],
>            CustomerUserSearchFields => ['uid', 'cn', 'mail'],
>            CustomerUserSearchPrefix => '',
>            CustomerUserSearchSuffix => '*',
>            CustomerUserSearchListLimit => 250,
>            CustomerUserPostMasterSearchFields => ['mail'],
>            CustomerUserNameFields => ['givenname', 'sn'],
>            # show now own tickets in customer panel, CompanyTickets
>            CustomerUserExcludePrimaryCustomerID => 0,
>            # add a ldap filter for valid users (expert setting)
>            # CustomerUserValidFilter => '(!(description=gesperrt))',
>            # admin can't change customer preferences
>            AdminSetPreferences => 0,
>            # 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',   'uid',             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 ],
>            ],
>        };
> 
> 
>     PS : I try also
> 
>         $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
>         $Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'cn=otrs,ou=
>     dsa,dc=huma-num,dc=fr';
>         $Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'xxx';
>         $Self->{'Customer::AuthModule::LDAP::Host'} = ['ldaps://
>     ldapr1.huma-num.fr:636/','ldaps://ldapr2.huma-num.fr:636/'];
>         $Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=huma-num,dc=fr';
>         $Self->{'Customer::AuthModule::LDAP::UID'} = 'uid';
>         $Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'UID';
>         $Self->{'Customer::AuthModule::LDAP::AlwaysFilter'} = '(objectclass=
>     posixAccount)';
>         $Self->{'Customer::AuthModule::LDAP::Params'} = {
>             port => 636,
>             timeout => 120,
>             async => 0,
>             version => 3,
>             cafile => '/etc/ssl/certs/star_huma-num_fr-intermediate.pem',
>             clientcert => '/etc/ssl/certs/star_huma-num_fr.pem',
>             clientkey => '/etc/ssl/private/star_huma-num_fr.key',
>         };
> 
>     -> with this configuration, I don't see the LDAP accounts in the
>     Administration/Customers panel.
> 
> 
>     --
>     Très Grande Infrastructure de Recherche Huma-Num - CNRS UMS 3598
>     3ème étage - bureau 303 - CS n°71345
>     196 avenue de France - 75648 PARIS CEDEX 13
>     Tél : 01 49 54 83 09  - http://www.huma-num.fr/personne/joel-marchand
>     ---------------------------------------------------------------------
>     OTRS mailing list: otrs - Webpage: http://otrs.org/
>     Archive: http://lists.otrs.org/pipermail/otrs
>     To unsubscribe: http://lists.otrs.org/mailman/listinfo/otrs
> 
> 
---------------------------------------------------------------------
OTRS mailing list: otrs - Webpage: http://otrs.org/
Archive: http://lists.otrs.org/pipermail/otrs
To unsubscribe: http://lists.otrs.org/mailman/listinfo/otrs
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.