I'm seeing some strange behaviour now. After changing the SearchUserDN to the Users container I noticed that it was still using the previous setting. This reminded me to check the SysConfig options under System Administration in the Admin panel. In the Frontend::CustomerAuth module it was still showing the old Customer Auth LDAP settings. (it must have pulled them in from somewhere as I didn't set them) I cleared all the checkboxes and set the other options to their defaults.
This put lines of the following format in the ZZZAuto.pm and ZZZAAuto.pm files for all the settings I un-ticked; delete $Self->{'Customer::AuthModule::LDAP::SearchUserDN'}; When the Customer.pl script authenticates now it doesn't use any user details, just "<ROOT>". Can anybody tell me which settings take precedence? I'm going to try commenting out the lines from the ZZZAuto.pm and ZZZAAuto.pm files (even tho I probably shouldn't) Any more help, ideas or opinions would be greatly appreciated. Kind regards, Rory Clerkin On 13 May 2011 14:52, Rory <rcler...@gmail.com> wrote: > Hi Shawn, > > Thanks for your reply, I'll see how it works out in the container instead. > > Kind regards, > Rory Clerkin > > On 13 May 2011 14:25, Gadow, Shawn <sga...@ocusd.net> wrote: > >> Ok I could be wrong because I don’t know your AD structure but take a look >> here.. >> >> >> >> $Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'CN=LDAP >> Lookup,OU=Service Accounts,OU=Users,OU=Dept,DC=mydomain,DC=local'; >> $Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'mypw123'; >> >> Mine looks like this >> >> >> >> >> >> $Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = >> 'cn=testaccount,cn=Users,dc=ocusd,dc=local'; >> >> $Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'test123'; >> >> >> >> What I have is the user account test witch which is located in the users >> directly under the base DN.. the folder it’s located in needs to be a >> container not an OU I believe this is where your issue lies once again I >> could be wrong however >> >> >> >> Same applies with >> >> >> >> UserDN => 'CN=LDAP Lookup,OU=Service >> Accounts,OU=Users,OU=Dept,DC=mydomain,DC=local', >> UserPW => 'mypw123', >> >> >> >> >> >> Shawn Gadow >> >> Network Administrator >> >> Oregon CUSD 220 >> >> >> >> *“Security is when everything is settled*. *When nothing can happen to >> you. Security is the denial of l**ife*.” – Germaine Greer >> >> >> >> >> >> >> >> *From:* otrs-boun...@otrs.org [mailto:otrs-boun...@otrs.org] *On Behalf >> Of *Rory >> *Sent:* Friday, May 13, 2011 8:00 AM >> *To:* otrs@otrs.org >> *Subject:* [otrs] Customer LDAP Auth Issue - not anonymous >> >> >> >> Hi All, >> >> I'm having an issue while authenticating a Customer user against our >> windows Active Directory tree and I hope somebody can help me. >> >> I've been watching the network traffic on the AD server with Wireshark to >> see exactly what's happening. Here's the steps: >> >> 1. OTRS requests to bind to LDAP using a specified user "CN=LDAP >> Lookup,OU=Service Accounts,OU=Users,OU=EFC,DC=mydomain,DC=local". >> 2. LDAP server accepts the bind. >> 3. OTRS searches for the username. >> 4. LDAP server returns the correct user >> 5. OTRS searches for the group with the condition that the user is in the >> group >> 6. LDAP server returns the correct group >> 7. OTRS unbinds from LDAP >> 8. OTRS requests to bind to LDAP using the login user that was returned in >> step 4. >> 9. LDAP server accepts the bind >> 10. OTRS unbinds from LDAP server >> >> So far this is good and shows that the initial authentication succeeds. >> The next few steps are where OTRS tries to retrieve the customer attributes >> from LDAP >> >> 11. OTRS requests to bind to LDAP using "<root>". >> 12. LDAP server accepts the bind >> 13. OTRS searches the specified OU's subtree for the attributes listed in >> the map >> 14. LDAP server gives an error "000004DC: LdapErr: DSID-0C0906E8, comment: >> In order to perform this operation a successful bind must be completed on >> the connection., data 0, v1db1" >> >> The problem seems to be that OTRS tries to access the LDAP tree as an >> anonymous user in order to retrieve the customer attributes. Everything I've >> tried has not made any change to this part of the process. >> >> Here are some of the things I've tried; >> >> * The customer config format, in the manual, at the following link which >> authenticates but doesn't have details to map customer data >> http://doc.otrs.org/3.0/en/html/auth-backends.html >> >> * The customer config format, in the manual, at the following link which >> authenticates but fails to map customer data >> http://doc.otrs.org/3.0/en/html/customer-user-backend.html >> >> * Using both the above config formats at the same time. >> >> * Copying the Customer Config details into the Default.pm file which >> seemed to work for another user. >> >> * Using different attributes of the LDAP user to search and authenticate >> with e.g. sAMAccountName and userPrincipleName. >> >> * Using the domain suffix as part of the search and authenticate settings. >> >> >> I've included my customer config below which isn't working (and is >> currently written in the Default.pm file). >> I've sanitised the domain and password details but otherwise the config is >> exactly as on my server. >> >> ############################ >> # Start Customer LDAP config copied over from Config.pm >> ############################ >> >> >> $Self->{'Customer::AuthModule'} = >> 'Kernel::System::CustomerAuth::LDAP'; >> $Self->{'Customer::AuthModule::LDAP::Host'} = >> 'svr004.mydomain.local'; >> $Self->{'Customer::AuthModule::LDAP::BaseDN'} = >> 'ou=dept,dc=mydomain,dc=local'; >> $Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName'; >> >> # Check if the user is allowed to auth in a posixGroup >> # (e. g. user needs to be in a group xyz to use otrs) >> $Self->{'Customer::AuthModule::LDAP::GroupDN'} = >> 'CN=OTRS_Customers,OU=Security,OU=Groups,OU=Dept,DC=mydomain,DC=local'; >> $Self->{'Customer::AuthModule::LDAP::AccessAttr'} = 'member'; >> # for ldap posixGroups objectclass (just uid) >> # $Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'UID'; >> # for non ldap posixGroups objectclass (full user dn) >> $Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'DN'; >> >> # The following is valid but would only be necessary if the >> # anonymous user does NOT have permission to read from the LDAP >> tree >> $Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'CN=LDAP >> Lookup,OU=Service Accounts,OU=Users,OU=Dept,DC=mydomain,DC=local'; >> $Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'mypw123'; >> >> # in case you want to add always one filter to each ldap query, >> use >> # this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter => >> '(objectclass=user)' >> $Self->{'Customer::AuthModule::LDAP::AlwaysFilter'} = >> '(objectclass=user)'; >> >> # in case you want to add a suffix to each customer login name, >> then >> # you can use this option. e. g. user just want to use user but >> # in your ldap directory exists user@domain. >> # $Self->{'Customer::AuthModule::LDAP::UserSuffix'} = >> '@mydomain.local'; >> >> # Net::LDAP new params (if needed - for more info see perldoc >> Net::LDAP) >> $Self->{'Customer::AuthModule::LDAP::Params'} = { >> port => 389, >> timeout => 120, >> async => 0, >> version => 3, >> }; >> >> >> $Self->{CustomerUser} = { >> Name => 'LDAP Datasource', >> Module => 'Kernel::System::CustomerUser::LDAP', >> Params => { >> Host => 'svr004.efc.local', >> BaseDN => 'ou=EFC,dc=mydomain,dc=local', >> SSCOPE => 'sub', >> UserDN => 'CN=LDAP Lookup,OU=Service >> Accounts,OU=Users,OU=Dept,DC=mydomain,DC=local', >> UserPW => 'mypw123', >> AlwaysFilter => '(objectclass=user)', >> Params => { >> port => 389, >> timeout => 120, >> async => 0, >> version => 3, >> }, >> }, >> CustomerKey => 'sAMAccountName', >> CustomerID => 'mail', >> CustomerUserListFields => ['sAMAccountName', 'sn', 'cn', >> 'mail'], >> CustomerUserSearchFields => ['sAMAccountName', 'cn', 'sn', >> 'mail'], >> CustomerUserSearchPrefix => '', >> CustomerUserSearchSuffix => '*', >> CustomerUserSearchListLimit => 250, >> CustomerUserPostMasterSearchFields => ['mail'], >> CustomerUserNameFields => ['givenname', 'sn'], >> CustomerUserExcludePrimaryCustomerID => 0, >> AdminSetPreferences => 0, >> Map => [ >> [ 'UserSalutation', 'Title', >> 'title', 1, 0, 'var', '', 0 ], >> [ 'UserFirstname', 'Firstname', >> 'cn', 1, 1, 'var', '', 0 ], >> [ 'UserLastname', 'Lastname', >> 'sn', 1, 1, 'var', '', 0 ], >> [ 'UserLogin', 'Username', >> '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 ], >> [ 'UserAddress', 'Address', >> 'postaladdress', 1, 0, 'var', '', 0 ], >> [ 'UserComment', 'Comment', >> 'description', 1, 0, 'var', '', 0 ], >> ], >> }; >> >> >> ############################ >> # End Customer LDAP config copied over from Config.pm >> ############################ >> >> >> >> --------------------------------------------------------------------- >> 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