I am able to see customer users, search for them, add them to
tickets and even send e-mails to them but they can’t login through the
customer.pl page. Whenever customers try to login they receive an error message
saying that their username or password has been entered incorrectly. When I
look in the OTRS logs I see a message like this:
“[Fri Apr 23 16:35:40
2010][Error][Kernel::System::CustomerAuth::LDAP::Auth][220] Search failed!
000004DC: LdapErr: DSID-0C0906DD, comment: In order to perform this operation a
successful bind must be completed on the connection., data 0, v1772”
I have tried using the sync-ldap2db.pl script because I have read
that the user data has to be copied to the MSQL DB for users to be able to
login but I am unsure of how I would verify that the data was copied over
correctly. I have also read that some people have been able to use some extra
settings in their config to copy the data of a first time customer user logging
in. My settings are shown below. Any help would be
appreciated.
Thanks,
Ryan
##############config.pm#######################
#Enable LDAP authentication for Customers a.k.a non-IT employees
$Self->{'Customer::AuthModule'} =
'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host'} =
'server.domain.org';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} =
'ou=users,dc=domain,dc=org';
$Self->{'Customer::AuthModule::LDAP::UID'} =
'sAMAccountName';
#CustomerUser
#(customer user database backend and settings)
$Self->{CustomerUser} = {
Module =>
'Kernel::System::CustomerUser::LDAP',
Params => {
Host => 'server.domain.org',
BaseDN =>
'OU=staff,DC=domain,DC=org',
SSCOPE => 'sub',
UserDN =>'domain\otrsagent',
UserPw => 'secret',
},
# customer unique id
CustomerKey => 'sAMAccountName',
CustomerID => 'mail',
CustomerUserListFields => ['sAMAccountName',
'mail'],
CustomerUserSearchFields =>
['sAMAccountName','givenname','sn' ],
CustomerUserSearchPrefix => '*',
CustomerUserSearchSuffix => '*',
CustomerUserSearchListLimit => 250,
CustomerUserPostMasterSearchFields =>
['mail', 'givenname', 'sn'],
CustomerUserNameFields => ['cn', 'sn'],
Map => [
# var,frontend,storage,shown,required,storage-type, http-link,
readonly
[ '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],
],
};
###############sync-ldap2db.pl##################
my $UidLDAP = 'domain\otrsagent';
my $UidDB = 'otrs';
my %Map = (
# db => ldap
email =>
'mail',
customer_id => 'mail',
first_name => 'givenname',
last_name => 'sn',
pw => 'password',
);
my $LDAPHost = 'server.domain.org';
my %LDAPParams = ();
my $LDAPBaseDN = 'ou=users,dc=domain,dc=org';
my $LDAPBindDN = 'domain\otrstest';
my $LDAPBindPW = 'secret';
my $LDAPScope = 'sub';
my $LDAPCharset = 'utf-8';
#my $LDAPFilter = '';
my $LDAPFilter = '(ObjectClass=*)';
my $DBCharset = 'iso-8859-1';
my $DBTable = 'customer_user';