none
Authentifizierung im XMLHttpRequest RRS feed

  • Frage

  • Der folgende JavaScript-Code funktioniert in Chrome und Safari wie gewünscht; unter Internet Explorer hingegen nur bedingt (unter Firefox gar nicht, aber das ist hier nicht das Thema). Es geht um eine Basic-Authentifizierung am Server, die nicht vom Benutzer, sondern transparent in einem XMLHttpRequest durchgeführt wird.

    var xhr = new XMLHttpRequest();
    xhr.open('GET', 'api/GetSettings', false, encodeURIComponent('nutzer1'), encodeURIComponent('pass123'));
    xhr.send(null);

    Dieser Code funktioniert im Internet Explorer nur so lange einwandfrei, wie das Nutzername/Passwort keine Sonderzeichen enthalten. Sind Sonderzeichen (z.B. pass&%$ als Passwort) enthalten, funktioniert es nicht.

    Ich bin mir nicht sicher, ob das was ich da tue von irgendeinem Standard (ECMA/HTTP/XHR) gedeckt ist - aber vielleicht hat ja jemand eine Idee, wie ich das ganze standardkonform - bzw. IE-kompatibel, das reicht mir auch schon - hinbekomme?

    Mittwoch, 29. April 2015 14:40

Antworten