私はjqueryを使用しています。すべてのリクエストにヘッダを追加してリダイレクト
ユーザログにヘッダに認証情報が必要な場合。
たちは、リダイレクトを行うときのように見える、我々はAJAX呼び出しを行った後、ヘッダはもう
が何らかの理由ではないでしょうか?
jQueryを使って私のコード
$('#loginform').submit(function(event) {
event.preventDefault();
var header = btoa($('#username').val() + ":" + $('#password').val());
$.ajaxSetup({
headers: {
"Authorization": "Basic " + header
}
});
$.ajax({
timeout: 1000, //check if really needed
type: 'get',
url: '/rest/members/1',
headers: {
"Authorization": "Basic " + header
}
}).done(function(data, textStatus, jqXHR) {
$("#error-login-form").addClass("hidden");
var deferredUsername = getNameByUsername();
$.when(deferredUsername).then(function() {
window.location = "main.html";
});
}).fail(function(jqXHR, textStatus) {
if (jqXHR.status == 401) {
$("#error-login-form").removeClass("hidden");
}
});
});
、およびチェックを追加しますそれは毎回のリクエストで*一度チェックしてから、ランダムなIDなどのCookieを使用して、ユーザーを追跡します。 – adeneo
はあまりにも悪くないようですhttps://zinoui.com/blog/ajax-basic-authentication –
コメントで投稿した例では、[HTTP認証とPHP](http://php.net/manual/en/features)を使用しています。 http-auth.php)これは、ログイン情報をログインスクリプトに送信するログインページを持つことと同じではありません。これは、@ adeneoのようなクッキーや認証成功のセッション変数を設定します。ここに本当に必要なものは不明です。しかし、確かに、質問に投稿したスクリプトは成功することはできません。 –