2

サービスへのリクエスト間でフォーム認証 Cookie が共有されないという問題が見つかりました。

Cookie '.ASPXAUTH' が正常に生成され、ログイン サービスからブラウザに送信されましたが、同じサービスの後続の要求に Cookie が送信されませんでした。

Cloud アプリからサービスを呼び出すときに、HTTP 1.1 を使用して要求が見つかり、応答の場合は HTTP 1.0 です

Fiddler やその他のツールのユーザーによるその他の観察:

次の状況で正常に動作します。

  1. ローカル開発システムからのサービスおよびクライアント Web サイトの実行
  2. 同じ IIS 上のホスティング サービスとクライアント (ローカルおよびリモート)
  3. URLに基​​づいてアクセスし、Cookieが適切に送信されました

次の状況では機能しません。

  1. 異なる IIS サーバーにあるホスティング サービスとクライアント。
  2. IIS (または Azure) でのホスティング サービスと、ローカル開発システムからのクライアント

詳細: 両方のリクエストが同じサービスに対して行われました。つまり、同じドメイン、同じプロトコル、同じポート番号などです。

2012 年 12 月 20 日 15:14 の更新:

  1. 前に述べたように、Ajax 呼び出しで確実に動作するログイン機能は、応答時に Set-Cookie を表示しますが、ブラウザは Cookie を読み取っていません。

  2. $.Ajax() の "complete:" イベントで document.cookies を読み取ろうとしましたが、Cookie を読み取ることができませんでした。ブラウザーが Cookie を取得または保持していないことを意味します (Fiddler が同じ応答に表示される場合)

よろしく、 ラーマクリシュナ

4

1 に答える 1

0

フォーム認証を使用して、ASP.NET セッションをプロセス外およびサーバー外にするためのアクションを実行しましたか?

サーバー間でセッションを共有することはできないため、SQL セッション状態プロバイダーを使用してセッションを SQL Azure に入れるか、Windows Azure キャッシュと提供されたセッション状態プロバイダーを使用してセッションをキャッシュに保存する必要があります。

あなたはインターネット検索エンジンの使用に長けていると思いますが、ここに、開始するのに適した記事のリストを示します (セッションをプロセスから外します)。

于 2012-12-11T15:38:59.200 に答える