2

我们有一个 ASP.NET MVC4 WebAPI Portal RIA(一口,我知道)。Portal UI 使用 extjs 和静态 html(即没有视图)实现,所有动态行为都通过 RESTful JSON 服务端点驱动,这些端点通过System.Web.Http.ApiController. 目前,该网站在生产中部署为单个站点,在 IIS 中具有两个站点绑定(即两个不同的 URL):一个是内部 URL,提供对完整门户的访问,另一个是 HTTPS,旨在提供外部授权用户访问到站点的 RESTful JSON API 部分。实际上,这意味着虽然内部 URL 允许完全访问站点,但理想情况下,外部 URL 应该

  • 只允许响应 JSON 请求
  • 不允许访问默认页面(例如 index.htm)

在 IIS 或其他方式中实现此目标的最佳方法是什么?我们目前使用的具有多个站点绑定配置的共享站点是否有更好的替代方案?任何见解将不胜感激。

4

1 回答 1

1

可能最简单的解决方案(来自所有涉及编写您自己的解决方案的解决方案)是实现一个 HTTP 模块,该模块拦截所有调用并根据域名或 IP 在您的代码中执行所有过滤逻辑。这是一个非常简单的示例,说明如何做到这一点:使用 ASP.NET HTTP 模块来限制 IP 地址的访问

我不知道有任何方法可以纯粹通过更改配置来完成您的任务。

于 2013-07-26T22:56:54.360 回答