HTTP Status Code 200 oder 401 für Login-Seite? Jetzt haben wir die Wahl!

von Thomas Bahn,
assono GmbH, Standort Kiel,

Vielen Dank an Per Henrik Lausten, der mich mit seinem Tweet darauf aufmerksam gemacht hat:

Es gibt schon lange das Problem, dass der HTTP-Task des Domino-Servers auf einen Request, für den der Benutzer nicht berechtigt ist - meistens, weil er noch nicht oder nicht mehr angemeldet ist - mit einem Redirect auf die Login-Seite reagiert und - das ist das eigentliche Problem - dabei den Statuscode 200 zurück gibt, der dem Empfänger suggeriert: Alles in Ordnung.

Für den ursprünglichen Einsatzzweck ist das kein Problem: Mensch öffnet URL im Browser oder klickt auf einen Link, bekommt die Anmeldeseite, gibt seine Daten ein und wird auf die angeforderte Seite weitergeleitet.

Aber in einer Welt der Web Services und REST API Services, wenn ein "dummes" Programm versucht, einen entsprechenden Request abzusetzen, sieht es etwas anders aus. Das Programm bekommt ein 200 - alles okay - und gleichzeitig statt dem erwarteten Ergebnis irgendeine HTML-Seite, die er nicht einfach intepretieren kann. Natürlich kann der Programmierer, speziell wenn er mit Domino-Servern Erfahrung hat, darauf reagieren. Aber "die anderen" machen es alle (?) anders: In einem solchen Fall geben sie den HTTP Status 401 "not authorized" zurück. Dann kann der Aufrufer leichter erkennen, dass er sich noch anmelden muss.

Und mit dem Feature Pack 10 für IBM Domino 9.0.1 (und damit natürlich auch für Domino 10 aufwärts) gibt es jetzt eine notes.ini-Einstellung dafür:

DOMINO_FORCE401_WITH_HTML_LOGIN_PAGE=1

Ist diese Einstellung gesetzt, wird in dem geschilderten Fall auch ein Status 401 zurück gegeben.

Warum ist das nicht jetzt automatisch voreingestellt?

IBMs lange Tradition ist es, "Breaking Changes" nicht per Vorgabe auszuliefern. Immerhin mussten ja alle Service-Nutzer sich mit dem alten (Fehl-)Verhalten arrangieren und würden jetzt vielleicht nach der Umstellung einen Fehler produzieren. Die Entwickler sollen das vorbereiten können, bevor der Schalter umgelegt und das Verhalten des Servers geändert wird.

Das könnte Sie auch interessieren:

Web-Entwicklung HCL Notes und Domino

Quellen:

Fachbeitrag IBM Domino Web-Entwicklung Entwicklung

Sie haben Fragen zu diesem Artikel? Kontaktieren Sie uns gerne: blog@assono.de

Sie wollen eine individuelle Lösung? Kontaktieren Sie uns

Weitere interessante Artikel

Sie haben Fragen oder möchten eine Demo anfordern?

Wenn Sie mehr über unsere Angebote erfahren möchten, können Sie uns jederzeit kontaktieren. Gerne erstellen wir eine individuelle Demo für Sie.

Wir verwenden Ihre Daten, um Sie einmalig per E-Mail zu kontaktieren. Wir geben Ihre Daten nicht an Dritte weiter. Siehe: Datenschutzhinweise
assono GmbH

Standort Kiel (Zentrale)
assono GmbH
Lise-Meitner-Straße 1–7
24223 Schwentinental

Standort Hamburg
assono GmbH
Bornkampsweg 58
22761 Hamburg

Telefonnummern:
Zentrale: +49 4307 900 407
Vertrieb: +49 4307 900 402

E-Mail-Adressen:
kontakt@assono.de
bewerbung@assono.de