6

ここに私たちの問題があります。セッションを処理するために Cookie を使用したフォーム認証を使用するMVC Web-apiを作成しました。Web-API と同じドメイン (localhost または Web サーバー) でフロントエンド Web ページを使用すると、すべて正常に動作します。(JQuery の $.get と $.post を使用して web-api と通信します)。

ただし、フロントエンドは将来的にはスタンドアロンの html5 アプリになる予定であり、web-api と同じドメインにはありません。残念ながら、これは機能しません。

Web API は認証 Cookie をクライアントに返しますが、フロントエンドが要求を送信するときに Cookie は Web API に戻されません。web-api とフロントエンドの両方が同じドメインにある場合、Cookie は要求と共に自動的に送信されます。

web-api webconfig ファイルで「Access-Control-Allow-Origin: *」と「Access-Control-Allow-Authentication: true」を設定しようとしました。

4

1 に答える 1

4

必要なのはシングルサインオン(SSO)機能です。

ブラウザは同じドメインにのみCookieを送信します。これが、アプリケーションが異なるドメインにある場合にブラウザが機能しなかった理由です。

ASP.NETでのSSOの実装に関するCodeProjectの素晴らしい記事があります-http : //www.codeproject.com/Articles/106439/Single-Sign-On-SSO-for-cross-domain-ASP-NET-applic ASP.NetMVCも。

于 2012-05-17T09:31:40.990 に答える