2

Google グループからフィードを読み取る Google ガジェットを作成する必要があります。問題は、フィードを取得するために ajax 呼び出しを行っており、Google Apps ドメインが CAS (中央認証サービス) によって保護されていることです。だから、私は電話をかけるときに400の悪い要求を受けています。

ajax呼び出しを行うときにブラウザがCookieを送信していないと思われます。ajax呼び出しでCookieも送信されるようにするにはどうすればよいですか? または、それが問題ではない場合、私は何をする必要がありますか?

4

3 に答える 3

1

普通の AJAX 呼び出し (少なくとも jQuery を使用) を行っている場合、ドメインサブドメインの両方が一致しないと、リクエストは失敗します。つまり、 からapp.mydomain.comまで呼び出している場合cas.mydomain.com、リクエストは機能しません。

私のテストでは、ブラウザは、AJAX 呼び出しであっても、期待どおりに Cookie を適切に送信します。

また、通話の両端 (アプリと CAS サーバー) で同じプロトコル (HTTP または HTTPS) を使用していることを確認してください。

Firefox で Firebug を使用している場合は、リクエストとともに Cookie が送信されていることがわかります。そこに表示されない場合は、掘り下げなければならない何か他のことが起こっている可能性があります。

これは、有益な同様の質問です。

于 2010-06-05T20:54:31.623 に答える
0
     $.ajax({  
            type: 'post',
            dataType: 'script',
            url:'/some url',
            data:{},
            beforeSend: function(xhr) {
            xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'));
            }

cas が ajax で動作しないと考えているこのような問題がありますが、Rails 3 ではコンテンツ属性を投稿リクエストに送信する必要があることがわかりました

あなたが同じことに直面しているかもしれません。私は私を助けてくれたものを共有しました。

于 2012-04-17T06:41:12.463 に答える
0

JASIG CASメッセージ リストでは、JSESSIONID を使用してクロスドメインの ajax 呼び出しの制限を克服する方法について説明しています。

他のアプローチがあるかどうかを尋ねる同様の質問があります。

于 2011-04-08T02:53:10.200 に答える