Fehlermeldung „Fehler in Modul {unknown}“ nach dem Release von mein campus 5.0

Nach dem Release der Version 5.0 von mein campus traten bei zahlreichen Benutzern des Internet Explorers „Fehler im Module {unknown}“ auf. Dieser Blogeintrag wird die Ursachen dieses Fehlers beleuchten.
Die Online-Serviceplattform mein campus integriert unter einer einheitlichen Oberfläche mehrere, eigenständige Anwendungen. Damit diese unterschiedlichen Anwendungen miteinander funktionieren, müssen im Hintergrund verschieden Daten ausgetauscht werden. So müssen beispielsweise alle Anwendungen prüfen können, ob der Benutzer angemeldet ist und die jeweiligen Session-Timeouts müssen synchronisiert werden. Geschieht letzteres nicht, würde ein Benutzer, der die Veranstaltungsverwaltung nutzt, automatisch aus der Prüfungsverwaltung ausgeloggt, da aus Sicht dieser Anwendung zu lange keine Interaktion erfolgte.

Bis zur Version 4.4 von mein campus wurden die Informationen über authentifizierte Benutzer über eine kleines, gemeinsam genutzes Datenbankbackend ausgetauscht. Für die Synchronisation der Sessions wurden im Hintergrund immer auch Aufrufe aller anderen Anwendungen durchgeführt. Dies war für den Benutzer zwar transparent, machte für jede neue Anwendung die integriert werden sollte, aber Anpassungen an allen bisherigen Anwendungen notwendig (und beinhaltet damit auch das Risiko Fehler in den Code einzubauen).

Mit Version 5.0 wurde die notwendige Funktionalität in den Applikationsserver selbst verlagert. Dieser platziert nun ein gesondertes Session-Cookie, das alle Anwendungen lesen können. Damit wird sichergestellt, dass der User authentifiziert ist. Zudem lassen sich über die ID dieser Session alle Anwendungssessions identifizieren und deren Session-Timeouts aktualisieren. Damit entfällt die fehleranfällige Modifikation der bestehenden Anwendungen und neue Anwendungen müssen lediglich noch in die Konfiguration des Applikationsservers eingetragen werden.

Damit das globale Session-Cookie von allen Anwendungen gelesen werden kann, wird dieses mit dem Root-Verzeichnis von mein campus gesetzt. Der Internet Explorer erlaubt das Setzen eines solchen Session-Cookies in der Standardkonfiguration aus Sicherheitsgründen allerdings nicht. Für diesen Fall werden die benötigten Informationen über die aufgerufene URL übergeben. Diese werden, beginnend mit einem Semikolon, an die URL gehängt und können so vom Applikationsserver verwendet werden. Dieses Verhalten funktioniert in den meisten Browsern und mit einer Außnahme auch im Internet Explorer. Wird eine so codierte URL im Meta-Refresh-Tag einer Seite verwendet, betrachtet der Internet Explorer das Semikolon nicht als Bestandteil der URL, sondern als Parametertrenner ( siehe MSDN Library). Daher wurde in solchen Fällen nur eine verstümmelte URL für den Seitenaufruf übergeben, so dass in diesen Fällen kein korrekter Aufruf mehr vorlag. Dies führte zu der oben genannten Fehlermeldung.

Zur Lösung dieses Problems wurden sowohl die Methode zur Encodierung solcher Refresh-URLs, als auch die Methode zu deren Weiterverabeitung so erweitert, dass diese nun auch das globale Cookie unterstützen.

Sollte trotzdem noch jemand auf diesen Fehler stoßen, liegt das mit großer Wahrscheinlichkeit am Aufruf einer falschen Methode zur Codierung solcher URLs. Diese bitte dann einfach an meincampus-support@uni-erlangen.de melden… oder einfach nicht mehr den IE verwenden Wink.