限制WCF服务只响应一个域请求

本文关键字:一个 请求 WCF 服务 响应 限制 | 更新日期: 2023-09-27 18:12:57

我创建了一个WCF服务并将其托管在Internet上。
我想从somename1.com和一些静态ip中消耗它。
我们能不能让WCF只响应somename1.com域(或多个特定域)或静态ip

的请求?编辑:

http://forums.asp.net/t/1598209.aspx:

中的以下配置如何?
<endpoint address="" binding="wsHttpBinding" contract="IMyTestService">
  <identity>
    <dns value="ip address or domain name" />
  </identity>
</endpoint>

限制WCF服务只响应一个域请求

是的,这可以通过让您的服务端点使用消息过滤器来实现。

这是一篇深入的代码项目文章,一步一步地介绍如何在WCF中制作IP过滤器。下面是一个使用它的例子,一旦你写了IPFilter类

<?xml version="1.0" encoding="utf-8" ?>
<!-- Example configuration -->
<configuration>
  <configSections>
    <section name="IPFilter" 
    type="IPFilter.Configuration.IPFilterConfiguration,IPFilter"/>
  </configSections>
  <IPFilter>
    <HttpModule FilterName="Default" />
    <Filters>
      <add Name="Default" DefaultBehavior="Deny">
        <deny hosts="192.168.11.12,192.168.1.*" />
        <allow hosts="192.168.0.0/16" />
        <deny hosts="*" />
      </add>
    </Filters>
  </IPFilter>
</configuration>