Ergebnis 1 bis 10 von 10

Thema: [au-ldap_authentication] - Extennsion blockiert activateAccount Hook-warum? [gelöst]

  1. #1
    Contao-Nutzer
    Registriert seit
    31.03.2011.
    Beiträge
    86

    Standard [au-ldap_authentication] - Extennsion blockiert activateAccount Hook-warum? [gelöst]

    Hallo zusammen,

    wie hier beschrieben, habe ich Contao mittels activateAccount Hook angepasst (https://docs.contao.org/books/api/ex...teAccount.html).
    Sobald ein Mitglied seinen Account aktiviert, entpacke ich ein tar in seinem User-Verzeichnis. Hat alles soweit funktioniert.

    Jetzt habe ich die Extension [au-ldap_authentication] installiert und läuft (diese Extension verwendet den checkCredentials Hook). Jedoch habe ich jetzt festgestellt, dass der activateAccount Hook nicht mehr aufgerufen wird.

    Woran kann das liegen? Beißen sich beide Hooks, habe ich etwas anderes übersehen?

    Grüße
    Bojay
    Geändert von Bojay (14.06.2017 um 11:04 Uhr)

  2. #2
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.513
    User beschenken
    Wunschliste

    Standard

    Wo findet man die au-ldap_authentication Erweiterung?
    So kann ich nur vermuten, dass diese beim Hook Aufruf activateAccount diesen falsch beantwortet, wenn der Hook Aufruf nicht von der Erweiterung beantwortet werden kann.
    Da muss dann ein "false" zurück gesendet werden, damit Contao zur nächsten Erweiterung gehen kann.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  3. #3
    Contao-Nutzer
    Registriert seit
    31.03.2011.
    Beiträge
    86

    Standard

    Vielen Dank für die Antwort.

    Ich habe mich da nicht genau ausgedrückt bei "Jedoch habe ich jetzt festgestellt, dass der activateAccount Hook nicht mehr aufgerufen wird."
    Den activateAccount Hook rufe ich bei meiner Anpassung auf.

    Die Erweiterung gibt es hier: https://contao.org/en/extension-list...020209.en.html

  4. #4
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.513
    User beschenken
    Wunschliste

    Standard

    Da Contao die Hooks in den Erweiterungen alphabetisch durchsucht und deine Erweiterung mit au beginnt, könnte ich mir vorstellen, dass da irgendwas schiefgeht und dadurch die ganze Hook Kette unterbrochen wird und es dadurch nicht mehr zum Aufruf kommt.
    Fehlermeldungen einschalten und schauen ob was in system/logs/error.log auftaucht.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  5. #5
    Contao-Nutzer
    Registriert seit
    31.03.2011.
    Beiträge
    86

    Standard

    Danke für den Tipp.

    Ich habe einfach mal die au-ldap_authentication in zzau-ldap_authentication in der Hoffnung, dass dieser Workaround erst die anderen Hooks abarbeitet.
    Leider hat das nichts gebracht. Registrierung und Aktivierung läuft über LDAP, jedoch wird weiterhin der activateAccount Hook ignoriert.

  6. #6
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.513
    User beschenken
    Wunschliste

    Standard

    Und du bist dir sicher, das der Hook nur dann nicht aufgerufen wird, wenn au-ldap_authentication aktiv ist?

    Dann müsste man mal in Contao selbst schauen, wann und unter welchen Bedingungen der Hook activateAccount aufgerufen wird.
    Und dort und in deinem Script in dem du den Hook activateAccount bedienst Debug Zeilen einbauen, wie log_message('bla...'); und dann in der error.log schauen was dort von ankommt.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  7. #7
    Contao-Nutzer
    Registriert seit
    31.03.2011.
    Beiträge
    86

    Standard

    Ja, mein Skript mit dem Hook-Aufruf hat alles bis zu dem funktioniert, bis au-ldap_authentication installiert und eingerichtet wurde.

    Ich schaue mal nach und füge ein paar Log-Ausgaben hinzu.

    Danke.

  8. #8
    Contao-Nutzer
    Registriert seit
    31.03.2011.
    Beiträge
    86

    Standard

    Contao springt geht in der ModuleRegistration.php in der Funktion activateAcount (<- die hier mit einem c geschrieben ist) bis an die Stelle, bei der geprüft wird, ob es Hooks gibt:

    if (isset($GLOBALS['TL_HOOKS']['activateAccount']) && ....

    Er geht aber nicht weiter.

    Sobald ich das ldap Modul ausgeschaltet habe, ist die Abfrage aber true...

    Komisch.

  9. #9
    Contao-Nutzer
    Registriert seit
    31.03.2011.
    Beiträge
    86

    Standard Fehler gefunden

    In der config.php Datei der au-ldap_authentication Extension werden alle Hooks überschrieben:

    ALT:
    $GLOBALS['TL_HOOKS'] = array('checkCredentials' => array('LdapAuthentication', 'authenticate');

    NEU:
    $GLOBALS['TL_HOOKS']['checkCredentials'][] = array('LdapAuthentication', 'authenticate');

    So geht das jetzt.

  10. #10
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.513
    User beschenken
    Wunschliste

    Standard

    Na das war doch mal genau der Hinweis.
    Deine Registrierung in dem Hook ist fehlerhaft.
    PHP-Code:
    // hooks
    $GLOBALS['TL_HOOKS'] = array(
      
    'checkCredentials' => array(
        array(
    'LdapAuthentication''authenticate')
      )
    ); 
    Hier überschreibst du alle bisher registrierten Hooks und setzt nur deinen rein.
    So sollte es gehen:
    PHP-Code:
    // hooks
    $GLOBALS['TL_HOOKS']['checkCredentials'][] = array('LdapAuthentication''authenticate'); 
    Nachtrag: Stimmt, nochmal korrigiert.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •