otrs-de  

Re: [otrs-de] [2.4.5]LDAP:: CustomerSearch: Bad Filter

Martin Edenhofer
Tue, 12 Jan 2010 10:59:27 -0800

Hi Matthias,

das Problem ist nicht in der Definition, sondern Perl kommt mit "nichts" im 
Style von "Key => ," nicht klar.

In Deine Fall ignoriert perl da "=> ," einfach und füllt es mit dem nächsten 
Perl (hier Params).

Du musst da noch was dahinter schreiben (min. undef oder '').

Beispiel:


m...@lancelot:~> perl -e 'my %H = ( 1 => 1, 2 => 2, 3 => 3 ); for my $I (sort 
keys %H) { print "$I:$H{$I}\n"; }'
1:1
2:2
3:3
m...@lancelot:~> perl -e 'my %H = ( 1 => 1, 2 => , 3 => 3 ); for my $I (sort 
keys %H) { print "$I:$H{$I}\n"; }'
1:1
2:3
3:
m...@lancelot:~>

Im zweiten Beispiel siehst Du, dass Perl das nicht versteht. Es sollte 
eigentlich "1:1", "2:", "3:3" geschrieben werden. 

Hier das selbe aber mit "":

m...@lancelot:~> perl -e 'my %H = ( 1 => 1, 2 => "", 3 => 3 ); for my $I (sort 
keys %H) { print "$I:$H{$I}\n"; }'
1:1
2:
3:3
m...@lancelot:~> 

Und schon passt es wieder. ;)

Wenn Du also z. B. aus

 AlwaysFilter => , 
 AlwaysFilter => "",

und aus

CustomerUserSearchPrefix => ,
CustomerUserSearchPrefix => "",

machst, dann passt Deine Konfiguration also  wieder (Perl Syntaktisch). 

PS0: Ja, wenn Du einen Cache an hast, dass solltest Du vorher auf jeden Fall 
noch ein "bin/otrs.CacheDelete.pl" machen.

PS1: Glauben musst Du es mir nicht. Aber ich weiß, dass es stimmt. Just my 2 
cents. :)

Grüße,

 -Martin

On 12.01.2010, at 19:23, Matthias Borrack wrote:

> Hallo Martin
> 
> Das wäre zu einfach gewesen ;)
> 
> In der Config.pm sind keine Filter definiert.
> Und in der
> 
> Die Zeile 377 in der CustomerSearch/LDAP.pm
> 
>    # cache request
>    if ( $Self->{CacheObject} ) {
>        $Self->{CacheObject}->Set(
>            Type  => $Self->{CacheType},
>            Key   => 'CustomerSearch::' . $Filter,
>            Value => \%Users,
>            TTL   => $Self->{CustomerUserMap}->{CacheTTL},
>        );
>    }
> 
> impliziert m. E., dass der Wert aus den Filter gesetzt wird, wenn es
> denn einen gäbe?
> 
> 
> Grüße
> Matthias
> 
> 
> Martin Edenhofer schrieb:
>> Hi Matthias,
>> 
>> ob Du Betriebsblind bist weiß ich nicht! ;)
>> 
>> Aber es ist ein Syntax-Problem wenn Du sowas wie "AlwaysFilter => ," hast. 
>> 
>> Entweder die gesamte Zeile löschen, oder "AlwaysFilter => undef," draus 
>> machen, dann gehts.
>> 
>> Das selbe noch mal mit "CustomerUserSearchPrefix => ,". 
>> 
>> Lg,
>> 
>> -Martin
>> 
>> 
>> On 12.01.2010, at 16:27, Matthias Borrack wrote:
>> 
>>> Hallo zusammen
>>> 
>>> ich glaube, ich bräuchte wieder einmal einen richtigen ... Schubs.
>>> Irgendwie will die LDAP Abfrage des AD hinsichtlich der "Kunden" nicht
>>> funktionieren:
>>> 
>>> ---SCHNIPP OTRS-CGI-10[9010]:
>>> [Error][Kernel::System::CustomerUser::LDAP::CustomerSearch][Line:377]:
>>> Bad filter
>>> --SCHNAPP---
>>> 
>>> Und das bei der Config:
>>> 
>>> ---SCHNIPP---
>>> $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
>>> $Self->{'Customer::AuthModule::LDAP::Host'} = 'SRV.SUB.DOMA.IN';
>>> $Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=SUB,dc=DOMA,dc=IN';
>>> $Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
>>> $Self->{'AuthModule::LDAP::SearchUserDN'} = 'OTRS';
>>> $Self->{'AuthModule::LDAP::SearchUserPw'} = 'OTRSPW';
>>> $Self->{'Customer::AuthModule::LDAP::Params'} = {
>>>   port => 389,
>>>   timeout => 120,
>>>   async => 0,
>>>   version => 3,
>>> };
>>> 
>>> $Self->{CustomerUser} = {
>>>   Name => 'DOMA.IN',
>>>   Module => 'Kernel::System::CustomerUser::LDAP',
>>>   Params => {
>>>       Host => 'SRV.SUB.DOMA.IN',
>>>       BaseDN => 'ou=ABT,ou=BENUTZER,ou=ORT,dc=SUB,dc=DOMA,dc=IN',
>>>       SSCOPE => 'sub',
>>>       AlwaysFilter => ,
>>>       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 => '*',
>>> ...
>>> ---SCHNAPP---
>>> 
>>> 
>>> Bin ich so Betriebsblind?
>>> 
>>> 
>>> Dank und Grüße
>>> Matthias
>>> 
>>> ---------------------------------------------------------------------
>>> OTRS mailing list: otrs-de - Webpage: http://otrs.org/
>>> Archive: http://lists.otrs.org/pipermail/otrs-de
>>> To unsubscribe: http://lists.otrs.org/mailman/listinfo/otrs-de
>>> 
>>> NEU! ENTERPRISE SUBSCRIPTION - JETZT informieren und buchen!
>>> http://www.otrs.com/de/support/enterprise-subscription/
>> 
>> ---------------------------------------------------------------------
>> OTRS mailing list: otrs-de - Webpage: http://otrs.org/
>> Archive: http://lists.otrs.org/pipermail/otrs-de
>> To unsubscribe: http://lists.otrs.org/mailman/listinfo/otrs-de
>> 
>> NEU! ENTERPRISE SUBSCRIPTION - JETZT informieren und buchen!
>> http://www.otrs.com/de/support/enterprise-subscription/
> 
> ---------------------------------------------------------------------
> OTRS mailing list: otrs-de - Webpage: http://otrs.org/
> Archive: http://lists.otrs.org/pipermail/otrs-de
> To unsubscribe: http://lists.otrs.org/mailman/listinfo/otrs-de
> 
> NEU! ENTERPRISE SUBSCRIPTION - JETZT informieren und buchen!
> http://www.otrs.com/de/support/enterprise-subscription/

---------------------------------------------------------------------
OTRS mailing list: otrs-de - Webpage: http://otrs.org/
Archive: http://lists.otrs.org/pipermail/otrs-de
To unsubscribe: http://lists.otrs.org/mailman/listinfo/otrs-de

NEU! ENTERPRISE SUBSCRIPTION - JETZT informieren und buchen!
http://www.otrs.com/de/support/enterprise-subscription/