Asp.net 托管在IIS上的WCF服务和IIS上的客户端网站

Asp.net 托管在IIS上的WCF服务和IIS上的客户端网站,asp.net,wcf,iis,dmz,impersonation,Asp.net,Wcf,Iis,Dmz,Impersonation,以下是所需的设置: 具有wsHttpBinding的服务位于防火墙后面的计算机1上的IIS 6上 客户端是DMZ上机器2上IIS 6上的前端网站 我们目前可以使用Windows身份验证对客户端进行身份验证,但需要模拟 <identity impersonate="true" userName="OurCompany\Me" password="Blahblahblah" /> 因为该网站将使用“ASPNET”作为用户名,而该用户名不在域中 由于安全问题,我们现在想放弃这种方

以下是所需的设置:

  • 具有wsHttpBinding的服务位于防火墙后面的计算机1上的IIS 6上
  • 客户端是DMZ上机器2上IIS 6上的前端网站
我们目前可以使用Windows身份验证对客户端进行身份验证,但需要模拟

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

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

由于安全问题,我们现在想放弃这种方法;我们不想在非军事区公开这种信息

  • 有没有办法不使用 客户端上的模拟 配置

  • 如果我们改变了所以我们使用 证书认证,是吗 影响服务操作 需要模拟(需要) 上的文件访问模拟 例如网络


  • 谢谢。

    现在这个问题已经解决了,我认为分享解决方案会很有建设性

    就我最初的问题而言——它是否能够在不在配置或前端代码中显式设置的情况下进行模拟。如上所述,apppool方法确实有效,但只有当客户端和服务器都在同一个域上时才有效

    由于位于DMZ的网站客户端根本无法访问本地网络,这意味着我们无法模拟任何网络用户(这是我最初问题中的一个缺陷,说模拟有效-实际上不起作用)

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