部署一个ASP.Net WebAPI网站和DMZ

我有一套使用ASP.Net WebAPI开发的RESTful服务,这是一个单独的项目。 我通过ASP.Net内置的基于表单身份validation(基于cookie的)机制处理身份validation,该机制也内置在同一个项目中。 这些服务需要公开地暴露在互联网上,因为它们将被移动应用程序所使用。

我的一位同事build议保持身份validation的独立性,并将其托pipe在DMZ中,而服务项目则像这样在防火墙内托pipe

authentication模块(DMZ / Internet)| – 防火墙| | (安全区域)负载平衡器 – >托pipe服务网站的多台服务器。

  1. 为什么以及如何更安全?
  2. 做这个的最好方式是什么? 即,我是否必须创build两个项目并将validation逻辑放在一个以便放置在DMZ中。
  3. IIS中有没有标准的内置机制(IIS 7)?
  4. authentication模块可以扩展吗? 即DMZ中的多个authentication服务器