0

ページでjQueryからアクセスするサービスがあります。次のようになります。

[ServiceContract(Namespace = "")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class FacadeService
{
    ServiceHelper serviceHelper = new ServiceHelper();

    [OperationContract]
    [WebGet(ResponseFormat=WebMessageFormat.Json)]
    public String GetAllProducts()
    {
        Uri uri = new Uri("http://localhost:12345/api/Products");

        return serviceHelper.SubmitGetRequestToService(uri);
    }
}

それは素晴らしいことですが、今では誰でもブラウザーを開いてこのサービスにアクセスできます。ローカル Web サイトのみがこのサービスにアクセスできるようにします。これを行うための組み込みの方法はありますか、それともリフラフを締め出すための巧妙なスキームを考案する必要がありますか?

4

1 に答える 1

0

IIS でサーバーをホストしている場合、おそらく最も簡単な方法は、IIS ツールを介してサービスの URL アクセスを制限することです。

wcf サービス自体でそれを行っている場合は、IP フィルタリングの動作を追加できます。たとえば、 thisおよびthisの投稿を参照してください。

それでも、標準の IIS ツールを使用して実現する方が簡単だと思います。

于 2013-04-17T02:27:58.197 に答える