0

asp.net2.0アプリケーションからSSL対応のWCFサービスにアクセスしたい。サイトはIIS7でホストされていました。

これがコードです

function getCourse() {
    $.ajax({
        type: "GET",
        url: "https://website.com/service.svc/task",
        processData: false,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        timeout: 7000,
        username: "someusername",
        password: "somepassword",
        success: function (data) { alert("success"); },
        error: function (xhr, status, error) { alert("error"); }
    });
};

401エラーが発生します。SSLアクセスに関連するiisまたはwebconfigで構成を行いませんでしたか?ここに何か足りないものがありますか?または、asp.net 2.0アプリケーションを使用しているという事実がエラーの原因ですか?

4

1 に答える 1

0

次のように、jquery ajax 関数に追加のヘッダーを追加する必要があると思います。

headers: { 
    Authenticate: Basic username:password (to base64)
}

また

beforeSend: setHeaders

function setHeader(xhr) {
    xhr.setRequestHeader('Authorization', 'Basic base64.encode(username:password)');
}

Wikiによると、401 Unauthorizedは次のように定義されています

403 Forbidden に似ていますが、特に認証が必要で、失敗したか、まだ提供されていない場合に使用します。

応答には、要求されたリソースに適用可能なチャレンジを含むWWW-Authenticate ヘッダーフィールドが含まれている必要があります。基本アクセス認証およびダイジェスト アクセス認証を参照してください。

参照 HTTP ステータス コード: http://en.wikipedia.org/wiki/List_of_HTTP_status_codes
基本アクセス認証: http://en.wikipedia.org/wiki/Basic_access_authentication

于 2012-10-01T15:01:00.633 に答える