IIS上的IIS和客户端网站上托管的WCF服务

时间:2010-01-28 21:18:50

标签: asp.net wcf iis dmz impersonation

这是所需的设置:

  • 使用wsHttpBinding的服务位于防火墙后面的计算机1上的IIS 6上。
  • 客户端是DMZ上机器2上IIS 6上的前端网站。

我们目前能够使用Windows身份验证对客户端进行身份验证,但需要使用模拟

<identity impersonate="true" userName="OurCompany\Me" password="Blahblahblah" />

因为网站会使用“ASPNET”作为用户名,而不在域名中。

由于安全问题,我们现在想摆脱这种方法;我们不想在DMZ上公开这种信息。

  1. 有没有办法在不使用的情况下正确进行身份验证 冒充客户 配置

  2. 如果我们改变了以致我们使用 证书认证,它会 影响服务操作 需要冒充(需要 模拟文件访问 例如网络??

  3. 感谢。

1 个答案:

答案 0 :(得分:0)

现在已经解决了,我认为分享解决方案是有建设性的。

就我原来的问题而言 - 是否可以在配置或前端代码中明确设置模拟。如上所述,App Pool方法确实有效,但仅在客户端和服务器位于同一域时才有效。

由于位于DMZ的网站客户端根本无法访问本地网络,这意味着我们无法冒充任何网络用户(这是我原来问题的一个缺陷,说模仿有效 - 实际上是不工作)。

所以唯一的方法就是使用证书。由于这是内部通信,因此我使用makecert在每个服务器/客户端生成了测试证书。使用对等信任证书身份验证,我能够在客户端和服务器之间进行通信。这将确保DMZ区域中不显示任何Windows /网络用户帐户信息。