Sorry Jeff,

Can't see what's wrong with your install.
Possible clues could be the version of the Net::LDAP package you installed
or the version of otrs.
My implementation works fine (with the userLDAPSync), but with an AD
backend.
I had to replace the UID (which is not present in AD) by the DN. Maybe this
would solve the problem.

Good luck,

C.

On Thu, Jun 12, 2008 at 7:46 PM, Jeff Davis <[EMAIL PROTECTED]>
wrote:

>
>> Hi Jeff,
>>  If you do an ldapsearch, does the attribute givenName exists?
>>  C.
>>
>
> Yes.
>
> (BTW thanks for responding - I appreciate your willingness to give me a
> hand on this - I'm about at the end of my rope in identifying my
> configuration error).
>
> If you have additional ideas for testing/debugging this I would very much
> like to hear them...
>
> Fields asked for in Config.pm are present using
> AuthModule::LDAP::SearchUserDN account, so I don't think ACLs are the issue.
>  Even tried with root dn account to be sure.  If I had to guess I'd say it's
> unable to pull something from LDAP.  Just don't know why as ldapsearch has
> no issues with it.
>
> Here's an LDIF:
>
> dn: uid=tstaff,ou=Users,dc=example,dc=com
> uidNumber: 2306
> *givenName: Test*
> ssdSiteName: ESC
> uid: tstaff
> cn: Test Staff
> homeDirectory: /u/tstaff
> *sn: Staff*
> ssdRole: Test Staff User
> departmentNumber: Test Staff User
> *mail: [EMAIL PROTECTED]
> mailLocalAddress: [EMAIL PROTECTED]
> mailRoutingAddress: [EMAIL PROTECTED]
> objectClass: top
> objectClass: person
> objectClass: posixAccount
> objectClass: inetLocalMailRecipient
> objectClass: organizationalPerson
> objectClass: inetOrgPerson
> objectClass: shadowAccount
> objectClass: standardSchoolDistrict
> objectClass: sambaSamAccount
> gidNumber: 2000
> gecos: Test Staff Account
> description: Test Staff Account
> displayName: Test Staff Account
> loginShell: /bin/bash
>
> Christophe Flaviani wrote:
>
>>
>>
>>
>> On Wed, Jun 11, 2008 at 7:32 PM, Jeff Davis <[EMAIL PROTECTED] <mailto:
>> [EMAIL PROTECTED]>> wrote:
>>
>>    Well, I've gotten openldap auth to work but cannot get the
>>    UserSyncLDAPMap to work.  I've copied the code from Defaults.pm
>>    and configured for our ldap config.  Have been working on this on
>>    and off for 3 days, and still no luck.  The code in LDAP.pm that
>>    fails appears to be trying to pull attribute values from the
>>    directory, but adding code to put more detail into the log has not
>>    been illuminating.  Posts ive found in the archive seemto speak
>>    primarily to AD issues, which in some ways makes me think that
>>    OpenLDAP or a more standards-based LDAP implementation should be
>>    more straightforward.  "Obviously I'm mistaken".  I would sure
>>    like to get this figured out so we can move forward.  Otherwise I
>>    will probably have to look at a different system.
>>
>>    This is the value that throws the error:
>>
>>  
>> Net::LDAP::Entry=HASH(0xace6e04)->get_value(Kernel::Config=HASH(0x9af735c)->Get('UserSyncLDAPMap'.)->{UserFirstname})
>>
>>    The following code block in LDAP.pm is where the problem occurs
>>     (line 348 is bolded):
>>
>>    foreach my $Entry ($Result->all_entries) {
>>      $UserDN = $Entry->dn();
>>      foreach my $Key (keys
>>    %{$Self->{ConfigObject}->Get('UserSyncLDAPMap'.$Self->{Count})}) {
>>          # detect old config setting
>>          if ($Key =~ /^(Firstname|Lastname|Email)/) {
>>              $Key = "User".$Key;
>>              $Self->{LogObject}->Log(
>>                  Priority => 'error',
>>                  Message => "Old config setting detected, please use
>>    the new one from Kernel/Config/Defaults.pm (User* has been added!).",
>>              );
>>          }
>>    *        $SyncUser{$Key} =
>>
>>  
>> $Entry->get_value($Self->{ConfigObject}->Get('UserSyncLDAPMap'.$Self->{Count})->{$Key});*
>>          # e. g. set utf-8 flag
>>          $SyncUser{$Key} = $Self->_ConvertFrom($SyncUser{$Key},
>>    $Self->{ConfigObject}->Get('DefaultCharset'));
>>      }
>>      if ($Entry->get_value('userPassword')) {
>>          $SyncUser{Pw} = $Entry->get_value('userPassword');
>>          # e. g. set utf-8 flag
>>          $SyncUser{Pw} = $Self->_ConvertFrom($SyncUser{Pw},
>>    $Self->{ConfigObject}->Get('DefaultCharset'));
>>      }
>>    }
>>
>>
>>    When logging in it throws the following error:
>>
>>    Software error:
>>
>>    Can't locate object method "get_value" via package
>>    "Net::LDAP::Entry" at ../..//Kernel/System/Auth/LDAP.pm line 348,
>>    <PRODUCT> line 4.
>>
>>    For help, please send mail to the webmaster ([EMAIL PROTECTED]
>>    <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>), giving this
>>    error message and the time and date of the error.
>>
>>    Here's the agent portion of my config.pm <http://config.pm/>.
>>
>>    # This is an example configuration for an LDAP auth. backend.
>>    # (take care that Net::LDAP is installed!)
>>    $Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
>>    $Self->{'AuthModule::LDAP::Host'} = 'ldap.example.com
>>    <http://ldap.example.com/>';
>>    $Self->{'AuthModule::LDAP::BaseDN'} = 'ou=users,dc=example,dc=com';
>>    $Self->{'AuthModule::LDAP::UID'} = 'uid';
>>
>>    # 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->{'AuthModule::LDAP::GroupDN'} =
>>    'cn=techsupport,ou=Groups,dc=example,dc=com';
>>    $Self->{'AuthModule::LDAP::AccessAttr'} = 'memberUid';
>>    # for ldap posixGroups objectclass (just uid)
>>    $Self->{'AuthModule::LDAP::UserAttr'} = 'UID';
>>    # for non ldap posixGroups objectclass (with full user dn)
>>    #$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
>>
>>    # The following is valid but would only be necessary if the
>>    # anonymous user do NOT have permission to read from the LDAP tree
>>    $Self->{'AuthModule::LDAP::SearchUserDN'} =
>>    'cn=xxxxxxxxx,ou=xxx,dc=example,dc=com';
>>    $Self->{'AuthModule::LDAP::SearchUserPw'} = 'xxxxxxxx';
>>
>>    # 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->{'AuthModule::LDAP::AlwaysFilter'} = '';
>>
>>    # in case you want to add a suffix to each login name, then
>>    # you can use this option. e. g. user just want to use user but
>>    # in your ldap directory exists [EMAIL PROTECTED]
>>    #$Self->{'AuthModule::LDAP::UserSuffix'} = '@domain.com
>>    <http://domain.com/>';
>>
>>
>>    # Net::LDAP new params (if needed - for more info see perldoc
>>    Net::LDAP)
>>    $Self->{'AuthModule::LDAP::Params'} = {
>>    port => 389,
>>    timeout => 120,
>>    async => 0,
>>    version => 3,
>>    };
>>
>>    # Die if backend can't work, e. g. can't connect to server.
>>    $Self->{'AuthModule::LDAP::Die'} = 1;
>>
>>    # UserSyncLDAPMap
>>    # (map if agent should create/synced from LDAP to DB after login)
>>    $Self->{UserSyncLDAPMap} = {
>>    ## DB -> LDAP
>>    UserFirstname => 'givenName',
>>    UserLastname => 'sn',
>>    UserEmail => 'mail',
>>    };
>>    # UserSyncLDAPGroups
>>    # (If "LDAP" was selected for AuthModule, you can specify initial
>>    # user groups for first login.)
>>    $Self->{UserSyncLDAPGroups} = [
>>    'users',
>>    ];
>>
>>
>>
>>
>>
>>
>>    _______________________________________________
>>    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
>>    Support or consulting for your OTRS system?
>>    => http://www.otrs.com/
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> 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
>> Support or consulting for your OTRS system?
>> => http://www.otrs.com/
>>
>
> _______________________________________________
> 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
> Support or consulting for your OTRS system?
> => http://www.otrs.com/
>
_______________________________________________
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
Support or consulting for your OTRS system?
=> http://www.otrs.com/

Reply via email to