Die HAN Knowledgebase


Tags HAN.V4 HAN.V3 HAN.V2

Die AJAX-Anmeldung funktioniert nicht.

Manche Zugänge können nicht über die Aufnahmefunktion erfasst werden. Hintergrund dafür ist, dass bei der AJAX-Technologie ein JavaScript die Antwort des Servers verarbeitet und die entsprechenden Funktionen der Webseite zur Verfügung stellt. Ab HAN 2.3 ist es möglich, auch über HAN eine Anmeldung durchzuführen, die auf AJAX-Technologie basiert. Hierzu müssen im Zugangsskript einige manuelle Anpassungen vorgenommen werden.

Funktioniert die AJAX-Anmeldung nicht, gibt es je nach Fehlerbild folgende Lösungsmöglichkeiten:

  • Die Anmeldung wird nicht durchgeführt, obwohl die HHLogin-Funktion korrekt eingefügt wird, da jQuery das Body onload Event überschreibt. Damit das Laden des HHLogin-Skriptes funktioniert, muss dies anders ausgelöst werden.
  • Die Anmeldedaten werden als falsch zurückgewiesen, weil sie verschlüsselt gesendet werden.
    In diesem Fall müssen im Skript der Benutzername und/oder das Passwort statt mit den Variablen __user__ und __passwd__ in Klartext übermittelt werden.
    Hinweis: Ab HAN 4.2 wird die Variable user@han.com statt __user__ verwendet. Dies hat den Hintergrund, dass manche Anbieter die Syntax des Benutzernamens überprüfen, wenn als Benutzername eine E-Mail-Adresse verwendet wird. Die Variable __user__ wird weiterhin unterstützt, als Ersetzung muss nun jedoch user@han\.com verwendet werden!

Ab HAN 3 ist die AJAX-Anmeldung als Anmeldemöglichkeit in die Oberfläche integriert. Hier müssen Änderungen über Ersetzungen erfolgen:

  • Ausführen des Anmeldeskripts über jQuery:
     


    Suchausdruck: function HHLogin\(\)
    Ersetzung: \$\(window\).load\(HHLogin\);function HHLogin\(\)
     
  • Ersetzung von __user__ bzw. user@han\.com und/oder __passwd__ durch die tatsächlichen Anmeldedaten (hier xyz):
     

Die Anleitung zum Erstellen eines HAN Zugangsskripts mit einer Anmeldung über AJAX in HAN 2 finden Sie hier.

Wird die Anmeldung wegen jQuery in HAN 2 nicht ausgeführt, da jQuery das Body onload Event überschreibt, muss dies anders ausgelöst werden. Fügen Sie hierfür folgende Zeile nach JSLine_8 ein:
JSLine_9=$(window).load(HHLogin());


Der Artikel wurde bisher 1137 mal aufgerufen.
Artikel #3256 | 08.06.17 | Hartmut Mäcker