IIS 7 で WCF RESTful サービスが実行され、うまく機能しています。ユーザーは、別の Web サーバー上にあり、フォーム認証を使用する MVC3 Web サイトからいくつかの呼び出しを介してアクセスします。
誰もがサービスのメソッドを呼び出せないように、もう少し安全にしたいと考えています。MVC Web サイトで認証されたユーザーのみが、これらの呼び出しを正常に行う必要があります。この方法で Web サービスの呼び出しを制限する方法についての提案は大歓迎です。
IIS 7 で WCF RESTful サービスが実行され、うまく機能しています。ユーザーは、別の Web サーバー上にあり、フォーム認証を使用する MVC3 Web サイトからいくつかの呼び出しを介してアクセスします。
誰もがサービスのメソッドを呼び出せないように、もう少し安全にしたいと考えています。MVC Web サイトで認証されたユーザーのみが、これらの呼び出しを正常に行う必要があります。この方法で Web サービスの呼び出しを制限する方法についての提案は大歓迎です。
この記事に示すように、WCFサービス側でフォーム認証を有効にすることができます(を有効にすることによりASP.Net Compatibility Mode
)。クライアント(MVCアプリケーション)とサーバーの両方が同じmachineKeysを使用していることを確認して、MVCアプリケーションによって生成された認証CookieがWCFサービスで引き続き有効になるようにします。次に、RESTメソッドを呼び出すときに、実際のクライアント認証Cookieをリクエストに添付するだけです。
ここにいくつかのリンクがあります:
HTTP ヘッダーを変更する代わりに、Auth プロトコルを使用する最初の方法を好みます。