Opened 5 years ago

Closed 5 years ago

#643 closed Programmieren (gelöst)

Login von PO3-Startseite geht nicht

Reported by: sven Owned by:
Priority: wichtig Milestone: PhysikOnline 3.0 zum WS 13/14
Component: ILIAS Severity: unklar
Keywords: Cc: philip, sven
Blockiert von: Blockiert:
Erinnerungsdatum: Sensitive: no

Description

Aus seltsamen Gründen geht, mit identischem Formular, der Login von der neuen Startseite nicht, von der eigentlichen Login-Seite aber schon.

Mögliche Gründe wären nur noch komisch gesetzte Cookies per HTTP oder ähnliches, aber sowas sollte eigentlich keine Rolle spielen!

Vielleicht haben wir auch nicht richtig hingeschaut.

Change History (2)

comment:1 Changed 5 years ago by sven

Von dieser externen Seite geht der Login: https://elearning.physik.uni-frankfurt.de/local/login-test/test.php

Genau derselbe HTML-Code,

<form id="form_"
        name="formlogin"
        action="/ilias.php?lang=de&amp;client_id=FB13-PhysikOnline&amp;cmd=post&amp;cmdClass=ilstartupgui&amp;cmdNode=di&amp;baseClass=ilStartUpGUI&amp;rtoken=" method="post">
<p>User: <input  type="text" size="20" id="username"  maxlength="200" name="username" /> 
<p>Pwd: <input type="password" size="20" id="password" maxlength="" name="password"  />
<p>Submit: <input class="submit" type="SUBMIT" name="cmd[showLogin]" value="Anmelden" />
</form>

geht auf der ILIAS-Startseite aber nicht! Es scheint also Interaktionen mit dem restlichen HTML/JS-Code auf der Seite zu geben.

comment:2 Changed 5 years ago by sven

  • Resolution set to gelöst
  • Status changed from new to closed

PHP-Sessioncookies waren dran schuld. Eine ausführliche Analyse der HTTP-Requests und Responses ermöglichte mir folgenden Vergleich:

Startseitencookies
"ilClientId=FB13-PhysikOnline; authchallenge=yY3wBaTdXJVMoZ; ilStyleSwitching=on; iltest=cookie; PHPSESSID=qf7WPPZ4sgfZps"
Loginseitencookies
"ilClientId=FB13-PhysikOnline; authchallenge=yY3wBaTdXJVMoZ; ilStyleSwitching=on; iltest=cookie"

ILIAS funktioniert also so:

  • Während der Benutzer sich im öffentlichen Bereich bewegt, hat er eine PHPSESSID zugewiesen.
  • Sobald er auf die Loginseite kommt, wird diese Session beendet, während er auf der Loginseite ist, hat er keine aktive Session.

Allerdings ist eine Session aktiv, wenn man im öffentlichen Bereich ist.

Das ist auch der Grund, warum das Standalone-Beispiel oben funktioniert, solange man sich nur einloggt und ausloggt und dabei nicht weiter auf der Startseite oder so rumklickt.

Dieses Cookie, was nun zuviel ist, lässt sich per JavaScript elegant vor dem Absenden des Formulars löschen. Damit funktioniert das Loginform auf der Startseite nur mit aktivem Javascript, das ist aber auch nicht so fürchterlich schlimm, da ILIAS ansonsten auch nicht viel macht. Mit unobstructive CSS und noscript-Tags lässt sich das zähmen.

Lange Rede kurzer Sinn: Der Login auf der Startseite funktioniert jetzt!

Note: See TracTickets for help on using tickets.