Thanks Shawn!

I've implemented your config and it works.
I'm going to go through the different items that I have extra in my own
config to see what breaks it.
I do want to have features such as the user is required to be in a group.
This is great though, I'm delighted to have some progress on this.

I'll update this thread with the items I find that break the LDAP login, it
may be useful to somebody else in the future.

Thanks again,
Rory Clerkin

On 13 May 2011 15:56, Gadow, Shawn <sga...@ocusd.net> wrote:

> Just out of curiosity use mine and see what happens (obviously change what
> you need to change) but you seem to have some extra un-needed stuff in
> there.. worth a try anyway
>
>
>
>   $Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
>
>                   $Self->{'AuthModule::LDAP::Host'} =
> 'ODDC-01.ocusd.local';
>
>       $Self->{'AuthModule::LDAP::BaseDN'} = 'dc=ocusd,dc=local';
>
>       $Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
>
>
>
>                   $Self->{'AuthModule::LDAP::SearchUserDN'} =
> 'cn=testuser,cn=Users,dc=ocusd,dc=local';
>
>       $Self->{'AuthModule::LDAP::SearchUserPw'} = 'test123';
>
>
>
>                   $Self->{'Customer::AuthModule'} =
> 'Kernel::System::CustomerAuth::LDAP';
>
>       $Self->{'Customer::AuthModule::LDAP::Host'} = 'ODDC-01.ocusd.local';
>
>       $Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=ocusd,dc=local';
>
>       $Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
>
>
>
>       $Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'cn=
> testuser,cn=Users,dc=ocusd,dc=local';
>
>       $Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'test123';
>
>
>
>                   $Self->{CustomerUser} = {
>
>     Module => 'Kernel::System::CustomerUser::LDAP',
>
>     Params => {
>
>       Host => 'ODDC-N1.ocusd.local',
>
>       BaseDN => 'dc=ocusd,dc=local',
>
>       SSCOPE => 'sub',
>
>       UserDN => 'cn= testuser,cn=Users,dc=ocusd,dc=local',
>
>       UserPw => 'test123',
>
>     },
>
>     CustomerKey => 'sAMAccountName',
>
>     CustomerID => 'sAMAccountName',
>
>     CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
>
>     CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
>
>     CustomerUserPostMasterSearchFields => ['mail'],
>
>     CustomerUserNameFields => ['givenname', 'sn'],
>
>     Map => [
>
>       # note: Login, Email and CustomerID needed!
>
>       # var, frontend, storage, shown, required, storage-type
>
> #       [ 'UserSalutation', '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' ],
>
>       [ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var' ],
>
> #       [ 'UserAddress', 'Address', 'postaladdress', 1, 0, 'var' ],
>
>       [ 'UserComment', 'Comment', 'description', 1, 0, 'var' ],
>
>     ],
>
>   };
>
>
>
>
>
>
>
> 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 9:49 AM
>
> *To:* User questions and discussions about OTRS.
> *Subject:* Re: [otrs] Customer LDAP Auth Issue - not anonymous
>
>
>
> Hi Shawn,
>
> Yes, I restarted the httpd service (I'm using CentOs 5.5 btw with OTRS
> built from the tar.gz download, latest stable apache webserver, latest
> stable mysql database, perl installed via Yum, some per module installed via
> Yum and some through CPAN, Windows Server 2008 R2 Active Directory as the
> LDAP server)
>
> Commenting out the settings in the ZZZA* files made no difference. I've
> also reinstated the customer Authentication into the Config.pm file.
>
> I'm still getting OTRS trying to bind to LDAP using the user <ROOT> (Which
> I'm assuming is an anonymous user).
>
> Kind regards,
> Rory Clerkin
>
> On 13 May 2011 15:33, Gadow, Shawn <sga...@ocusd.net> wrote:
>
> Did you restart the services after you made the config change? I wouldn’t
> think you would have to but it’s worth a shot if you didn’t
>
>
>
>
>
> Shawn Gadow
>
> Network Administrator
>
> Oregon CUSD 220
>
>
>
> *“Security is when everything is settled*. *When nothing can happen to
> you. Security is the denial of life*.” – Germaine Greer
>
>
>
>
>
>
>
> *From:* otrs-boun...@otrs.org [mailto:otrs-boun...@otrs.org] *On Behalf Of
> *Rory
> *Sent:* Friday, May 13, 2011 9:32 AM
> *To:* User questions and discussions about OTRS.
> *Subject:* Re: [otrs] Customer LDAP Auth Issue - not anonymous
>
>
>
> 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 life*.” – 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
>
>
>
> ---------------------------------------------------------------------
> 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

Reply via email to