Ajax: HTTP Basic Auth et cookie d'authentification

Je veux stocker l'authentification HTTP de base headerline dans un cookie d'authentification, de sorte que je n'ai pas à traiter avec l'autorisation d'en-tête dans les requêtes suivantes (je suis en utilisant jQuery):

authenticate: function(auth) {
    var header = "Basic " + $.base64.encode(auth.username + ":" + auth.password);
    document.cookie = "Authorization: " + header;
    $.ajax({
        type: "GET",
        url: "http://someurl",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: auth.success,
        error: auth.error
    });
},

Alors que cela semble fonctionner pour le premier utilisateur qui se connecte, il ne fonctionne pas pour tous les autres utilisateurs au sein de la session du navigateur, parce que l'autorisation ultérieure en-têtes sont ajoutés et ils ne sont pas écrasés. Je sais que l'on peut remplacer un cookie à l'aide de la name=value la syntaxe, mais cette syntaxe ne s'applique pas à l'en-tête d'autorisation.

Est-il un moyen de se débarrasser de l'ancien en-tête d'autorisation une fois qu'un nouvel utilisateur se connecte?

Toute aide serait appréciée. Merci, JeHo

  • Pouvez-vous modifier le code côté serveur? Quelle langue utilisez-vous (PHP, python, etc.)?
  • Le côté serveur est une selfhosted (WebServiceHost) service de données wcf (écrit en c#). Je suis propriétaire de cet hôte, afin que je puisse apporter des modifications à elle - mais je crains que les possibilités sont limitées.
InformationsquelleAutor Jeldrik | 2010-03-16