Hi, I'm not sure I should be trying to explain much about OTRS or LDAP, but here are some of my humble experiences and a few snippets from my config.pm. First of all, OTRS separates the authentication and the data backends. That means, when you authenticate a user (agent or customer), we further need some DATA about this user before we can let him in. This data can come from the same backend or another. If you have none configured, OTRS will try its own internal DB.
Doing a plain OTRS (3.2.3) install and adding the customer LDAP authentication (only) to config.pm, causes the exact error message you list, since no customer data can be found in the built-in DB backend. I then tried adding the customer DATA backend, and actually got the same error until I restarted the OTRS services (I'm not sure that should be necessary, but it's worth trying when troubleshooting). So, in summary, from a total blank OTRS install, adding the following to config.pm: # FIRST the authentication. # Customer LDAP authentication backend. $Self->{'Customer::AuthModule2'} = 'Kernel::System::CustomerAuth::LDAP'; $Self->{'Customer::AuthModule::LDAP::Host2'} = 'ldap.int.dom.test'; $Self->{'Customer::AuthModule::LDAP::BaseDN2'} = 'DC=int,DC=dom,DC=test'; $Self->{'Customer::AuthModule::LDAP::UID2'} = 'sAMAccountName'; # Check if member of AD group before customer login. # Nested groups doesn't seem to work. Have to use a global one that most people are member of, "Domain Users" won't work, as it's a special group. # Disable until further notice. Perhaps nested groups will work someday. # Note to self: Try LDAP query for nested members (memberof:1.2.840.113556.1.4.1941:=<Full DN>). # $Self->{'Customer::AuthModule::LDAP::GroupDN2'} = 'CN=OTRS Customers,OU=OTRS,DC=int,DC=dom,DC=test'; # $Self->{'Customer::AuthModule::LDAP::AccessAttr2'} = 'member'; # $Self->{'Customer::AuthModule::LDAP::UserAttr2'} = 'DN'; # LDAP Bind credentials. $Self->{'Customer::AuthModule::LDAP::SearchUserDN2'} = 'CN=otrsusr,OU=Other,OU=System Integration,DC=int,DC=dom,DC=test'; $Self->{'Customer::AuthModule::LDAP::SearchUserPw2'} = 'password'; # We only need to see users, not computers, and no disabled users either. $Self->{'Customer::AuthModule::LDAP::AlwaysFilter2'} = '(&(samAccountType=805306368)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))'; Causes the error message that you mention earlier ("No such user"). (The user gets authenticated, but we don't know anything about him, at least not enough to let him in) Further adding this: # THEN the data backend. # Customer LDAP data backend. $Self->{CustomerUser2} = { # Just the display name in OTRS. Name => 'LDAP - Backend', Module => 'Kernel::System::CustomerUser::LDAP', Params => { Host => 'ldap.int.dom.test', BaseDN => 'DC=int,DC=dom,DC=test', # Search Scope. SSCOPE => 'sub', # LDAP Bind credentials. UserDN => 'CN=otrsusr,OU=Other,OU=System Integration,DC=int,DC=dom,DC=test', UserPw => 'password', # This is needed to avoid issues with ae, oe, aa. Dunno what happens or if it's entirely correct. SourceCharset => 'utf-8', DestCharset => 'utf-8', # We only need to see users, not computers, and no disabled users either. AlwaysFilter => '(&(samAccountType=805306368)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))', }, CustomerKey => 'sAMAccountName', CustomerID => 'mail', # Show fields when searching customers in the admin interface. # CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'], CustomerUserListFields => ['cn', 'mail'], # Search in these fields in LDAP. CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'], CustomerUserPostMasterSearchFields => ['mail'], CustomerUserNameFields => ['givenname', 'sn'], CustomerUserSearchListLimit => '1000', Map => [ # Note: Login, Email and CustomerID are required! # 'var', 'frontend', 'storage', shown, required, 'storage-type' # [ 'UserTitle', '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' ], [ 'UserCustomerIDs', 'CustomerIDs', 'customer_ids', 1, 0, 'var'], # [ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var' ], # [ 'UserAddress', 'Address', 'postaladdress', 1, 0, 'var' ], [ 'UserComment', 'Comment', 'description', 1, 0, 'var' ], ], }; (and also restarting the OTRS services), I can then login successfully. The above matches a 2003/2008 AD pretty good, I'd say. But now that you mention it, I seem to recall some weird character issues years back, can't remember if it was the user or the password, though. -- /Sune T. From: otrs-boun...@otrs.org [mailto:otrs-boun...@otrs.org] On Behalf Of Marty Hillman Sent: 20. marts 2013 22:49 To: User questions and discussions about OTRS. Subject: Re: [otrs] FW: "Authentication succeeded, but no customer record is found in the customer backend. Please contact your administrator." I got it fixed, and I am pretty sure I know what the error was. There are some special characters that you can use in a password that it does not like at all in the Config.pm file. The password I had selected for the test account had an @ symbol in it. When I changed the password to one that was a mixture of cases and numbers, it seems to be working just fine. The Customer page in the admin file is populated with all sorts of AD users now. From: Gerald Young [mailto:cryth...@gmail.com] Sent: Wednesday, March 20, 2013 3:56 PM To: User questions and discussions about OTRS. Subject: Re: [otrs] FW: "Authentication succeeded, but no customer record is found in the customer backend. Please contact your administrator." I've set this on 2.7, 3.0, and 3.1. It *should* work on 3.2 or else there'd have been some wailing and gnashing of teeth and immediate bugfixes. It doesn't look like the code has been changed appreciably in a while, just some code cleanup. On Wed, Mar 20, 2013 at 4:40 PM, Marty Hillman <mhill...@equuscs.com<mailto:mhill...@equuscs.com>> wrote: That poses one question for me. What version are you using where it works? Then I promise to drop this particular issue. But again, Thanks for all of your help. You have all been teaching me more than I ever thought I wanted to know about perl and OTRS. ;-) From: Gerald Young [mailto:cryth...@gmail.com<mailto:cryth...@gmail.com>] Sent: Wednesday, March 20, 2013 3:36 PM To: User questions and discussions about OTRS. Subject: Re: [otrs] FW: "Authentication succeeded, but no customer record is found in the customer backend. Please contact your administrator." There's not enough other information available for me to assist at this time. I've configured this and helped others configure it on multiple occasions, and have no other information that I can provide via the mailing list. It *could* be a bug in 3.2.3 (don't know) but at the moment, unless I'm looking right at your config, I don't know what else to say. --------------------------------------------------------------------- OTRS mailing list: otrs - Webpage: http://otrs.org/ Archive: http://lists.otrs.org/pipermail/otrs To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/otrs
--------------------------------------------------------------------- OTRS mailing list: otrs - Webpage: http://otrs.org/ Archive: http://lists.otrs.org/pipermail/otrs To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/otrs