Hi,
das resultiert in einem völligen Verlust des Authentication-Mechanismus'.
Wieso? Die Passwörter werden per Basic Auth zwischen Server und Client hin und her geschoben und wenn das Passwort falsch ist, schickt ihn eine Datei im Realm vom Server weg.
Wenn er nen 401 auf eine Fremd-URL umleiten will, ist das m.E. der einzige Weg.
ein ErrorDocument http://... führt zu einem Redirect zu einem anderen Server, also zu einem Status: 3xx, welchen der Client erhält. Da ist von 401 nicht mehr die Spur zu sehen. Und das ist gut so, denn andernfalls würde der Client sich beim Fremdserver zu authentifizieren versuchen, wovon der Originalserver nichts hätte - und der Client auch nicht.
Solange ein 401 kommt, ist der Server bereit, eine Authentifizierung entgegenzunehmen.
Korrekt. So soll es auch sein. Denn 403 heisst: Für Dich Zugriff verboten. 401 heisst: Du kannst/konnstest Deine Berechtigung nicht nachweisen. Sind zwei verschiedene Fehler.
Richtig, und genau das ist auch gewollt.
Dass der Server die Versuchsanzahl nicht irgendwie sammelt, finde ich da: http://httpd.apache.org/docs/howto/auth.html#basicfaq.
Grundkenntnisse über HTTP reichen, um das zu wissen.
Somit kommt bei Auth immer der 401, selbst bei Serverfehlern in diesem Zusammenhang. Wenn der 401 trotz übergebenen Daten kommt, sind diese falsch. Weswegen m.W. die meisten Browser nach 3 Versuchen aufhören. Oder irre ich mich da?
Korrekt, das ist aber eine Sache des Browsers. Andere verhalten sich anders.
Cheatah