Hauptmenü

Fehlermeldung nach LDAP-Login: "Need UserID!"

Begonnen von Sebastian, 01.07.2019 16:10:36

⏪ vorheriges - nächstes ⏩

Sebastian

KIX Professional 17.6.0-0

Jedesmal, nachdem sich ein User via LDAP (erfolgreich) einloggt, erscheint folgende Fehlermeldung im Systemprotokoll:

Mon Jul  1 15:38:01 2019 error KIX-CGI-10 Need UserID!


Es scheint keine Auswirkungen, ausser der Fehlermeldung, zu geben.

Richard Leis

Hallo Sebastian,

wahrscheinlich nutzt Ihr das LDAP nicht nur für die Authentifizierung sondern synchronisiert die User auch.
Bei der Synchronisation scheint die UserID nicht korrekt übergeben zu werden.
Bitte prüfe Deine Config.pm (/opt/kix/Kernel/Config.pm), ob dort beim AuthSyncModule die UserID korrekt gemappt ist.

Viele Grüße

Richard


Sebastian

Hier ist unsere Konfiguration für die Agenten:

    # ---------------------------------------------------- #
    # LDAP-Anbindung                                       #
    # ---------------------------------------------------- #

    # LDAP AGENT ANBINDUNG

    $Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
    $Self->{'AuthModule::LDAP::Charset'} = 'utf-8';
    $Self->{'AuthModule::LDAP::Host'} = 'xxx';
    $Self->{'AuthModule::LDAP::BaseDN'} = 'xxx';
    $Self->{'AuthModule::LDAP::UID'} = 'uid';
    $Self->{'AuthModule::LDAP::SearchUserDN'} = 'xxx';
    $Self->{'AuthModule::LDAP::SearchUserPw'} = 'xxx';
    $Self->{'AuthModule::LDAP::AlwaysFilter'} = '';

    $Self->{UserSyncLDAPMap} = {
        # DB -> LDAP
        UserTitle     => 'gender',
        UserFirstname => 'givenName',
        UserLastname  => 'sn',
        UserEmail     => 'mail',
    };

    # UserTable
    $Self->{DatabaseUserTable} = 'users';
    $Self->{DatabaseUserTableUserID} = 'id';
    $Self->{DatabaseUserTableUserPW} = 'pw';
    $Self->{DatabaseUserTableUser} = 'login';

    # defines AuthSyncBackend (AuthSyncModule) for AuthModule
    # if this key exists and is empty, there won't be a sync.
    # example values: AuthSyncBackend, AuthSyncBackend2
    $Self->{'AuthModule::UseSyncBackend'} = 'AuthSyncBackend';


    # agent data sync against ldap
    $Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
    $Self->{'AuthSyncModule::LDAP::Host'} = 'xxx';
    $Self->{'AuthSyncModule::LDAP::BaseDN'} = 'xxx';
    $Self->{'AuthSyncModule::LDAP::UID'} = 'uid';
    $Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'xxx';
    $Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'xxx';
    $Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
        # DB -> LDAP
        UserTitle     => 'gender',
        UserFirstname => 'givenName',
        UserLastname  => 'sn',
        UserEmail     => 'mail',
    };

Richard Leis

Hallo Sebastian,

dieser Teil kann schonmal entfernt werden:
$Self->{UserSyncLDAPMap} = {
        # DB -> LDAP
        UserTitle     => 'gender',
        UserFirstname => 'givenName',
        UserLastname  => 'sn',
        UserEmail     => 'mail',
    };


Die Variable UserSyncLDAPMap gibt es nicht.

Der Rest sieht so weit in Ordnung aus.

Kannst Du mir bitte aus dem KIX-Log mal den gesamten Fehler posten? Dort sollte zu sehen sein, aus welchem Modul der Fehler kommt.
(Gerne auch mit der Zeile der erfolgreichen Anmeldung darüber).

Und könntest Du mal in der SQL-Box prüfen, ob die User korrekt synchronisiert werden?

Viele Grüße

Richard