Desidero memorizzare la riga di intestazione dell'autenticazione di base HTTP in un cookie di autenticazione, in modo da non dover gestire l'intestazione di autorizzazione nelle richieste successive (sto utilizzando jQuery):Ajax: autenticazione di base HTTP e cookie di autenticazione
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
});
},
Anche se questo sembra funzionare per il primo utente che effettua l'accesso, non funziona per nessun altro utente all'interno della sessione del browser, poiché le intestazioni di autorizzazione successive vengono aggiunte e non sovrascritte. So che uno potrebbe sovrascrivere un cookie utilizzando la sintassi name=value
, ma questa sintassi non si applica all'intestazione dell'autorizzazione.
C'è un modo per sbarazzarsi della vecchia intestazione di autorizzazione dopo l'accesso di un nuovo utente?
Qualsiasi aiuto sarebbe apprezzato. Grazie, JeHo
È possibile modificare qualsiasi codice sul lato server? Che lingua stai usando (PHP, python, ecc.)? – bpedro
Il lato server è un servizio dati wcf con hosting automatico (WebServiceHost) (scritto in C#). Sono il proprietario di questo host, quindi potrei apportare modifiche ad esso - ma temo che le possibilità siano limitate. – Jeldrik