Customer LDAP Query

Moderator: crythias

Locked
boom132
Znuny newbie
Posts: 1
Joined: 20 Apr 2011, 23:18
Znuny Version: 3.0
Real Name: Jason Dupuy
Company: Arsenal Credit Union

Customer LDAP Query

Post by boom132 »

I've been all over the internet trying to find the right answer... to no avail.

I am authenticating to LDAP.
My domain structure is:

Domain
----Branch
--------users
--------computers

When OTRS pulls the customer data from LDAP, its pulling all of the users and computer accounts.
I only want the user accounts.

I've tried every variation of the AlwaysFilter => and I still can't seem to get it right.
The last try I used was:
AlwaysFilter => '(!(objectClass=Computer))',

Can someone please assist...

Here is my current config.pm


# ---------------------------------------------------- #
# Active Directory Integration
# ---------------------------------------------------- #

# Authentication Module - Agent
$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = '192.168.1.116';
$Self->{'AuthModule::LDAP::BaseDN'} = 'dc=ars,dc=com';
$Self->{'AuthModule::LDAP::UID'} = 'mail';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'cn=help desk,cn=users,dc=ars,dc=com';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'helpdesk';

#Customer Authentication Module - Customers
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host'} = '192.168.1.116';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'ou=acu,dc=ars,dc=com';
$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'cn=help desk,cn=users,dc=ars,dc=com';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'helpdesk';
AlwaysFilter => '(mail=*)',

#Get Customer Information
$Self->{CustomerUser} = {
Module => 'Kernel::System::CustomerUser::LDAP',
Params => {
Host => '192.168.1.116',
BaseDN => 'ou=acu,dc=ars,dc=com',
SSCOPE => 'sub',
UserDN => 'cn=help desk,cn=users,dc=ars,dc=com',
UserPw => 'helpdesk',
},
CustomerKey => 'sAMAccountName',
CustomerID => 'sAMAccountName',
CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserPostMasterSearchFields => ['mail'],
CustomerUserNameFields => ['givenname', 'sn'],
AlwaysFilter => '(!(objectClass=Computer))',


Map => [
# note: Login, Email and CustomerID needed!
# var, frontend, storage, shown, required, storage-type
[ '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', 'sAMAccountName', 0, 1, 'var' ],
[ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var' ],
[ 'UserAddress', 'Address', 'physicalDeliveryOfficeName', 1, 0, 'var' ],
],
};
Wolfgangf
Znuny ninja
Posts: 1029
Joined: 13 Apr 2009, 12:26
Znuny Version: 6.0.13
Real Name: Wolfgang Fürtbauer
Company: PBS Logitek GmbH
Location: Pinsdorf

Re: Customer LDAP Query

Post by Wolfgangf »

Hi,

this is how I do it:

Code: Select all

$Self->{'AuthModule::LDAP::AlwaysFilter'} =  '(&(objectclass=user)(mail=*))';
...
$Self->{'AuthSyncModule::LDAP::AlwaysFilter'} = '(&(objectclass=user)(mail=*))';
...
$Self->{CustomerUser} = {
        Name => 'Active Directory',
        Module => 'Kernel::System::CustomerUser::LDAP',
        Params => {
            ...
            AlwaysFilter =>  '(&(objectclass=user)(mail=*))',
            ...
$Self->{'Customer::AuthModule::LDAP::AlwaysFilter'} = '(&(objectclass=user)(mail=*))';
...
Hope that helps
Produktiv:
OTRS 6.0.13/ ITSM 6.0.13
OS: SUSE Linux (SLES 12, Leap), MySql 5.5.x, 5.6.x
Windows 2012 AD Integration (agents and customers), Nagios integration (incidents, CMDB), Survey, TimeAccounting
Locked