1

純粋な Javascript を使用して Jazz サーバーへの認証を試みています。でGETできるはずですhttps://myserver:9444/qm/authenticated/j_security_check?j_username=foo&j_password=bar。(POST でも同じ動作)

これは、ダミーのユーザー エージェント ヘッダーを提供する場合、Ff プラグイン ポスターで正常に動作します。ただし、私が書いている JS コード (dojo.xhrGet を使用) では、400 - 悪い要求を取得しています。これは主に、ヒーガーが Chrome と言っており、応答 HTML が次のように述べているためです -You have followed a direct link to log in to a Jazz server. This page has been presented to ensure that a malicious website cannot use cleverly crafted content to circumvent security. If you would like to log in to the server, please use the link below.

私が遭遇した問題は、dojo.xhrGet のユーザー エージェント ヘッダーをオーバーライドできないことです。これは、保護されたヘッダーであり、Refused to set unsafe header "user-agent"api" などの値でオーバーライドしようとするとエラーが発生するためです。

このキャッチ 22 を回避するにはどうすればよいですか?

4

1 に答える 1

1

User-Agentのヘッダーは変更できませんXMLHttpRequest。このSOの質問を参照してください。

Jazz サーバーに対して認証する場合はdojo.xhrPost、HTTP POST 要求をフォーム認証 URL に送信するために使用する必要があります。

dojo.xhrPost({
   url: '/qm/authenticated/j_security_check',
   data: {
     j_username: 'foo',
     j_password: 'bar'
   }
})
于 2013-09-23T23:20:01.287 に答える