案例2.我移动到同一域中的另一台PC,并使用我在个人桌面上使用的相同凭据登录。当我浏览上面的同一个测试网站时(这次是http://johnxp/WebClient),我将这个渗透回到我的.aspx页面:
System.Web.Services.Protocols.SoapException:服务器无法处理请求。 ---> System.Net.WebException:请求失败,HTTP状态为401:未授权
查看SERVERTRIM上的安全日志,我注意到案例2中的访问导致了ANONYMOUS LOGON,这似乎解释了401 / Unauthorized。
当我的WS在另一台服务器上调用供应商的Web服务时,我正试图让我的web服务使用登录的DOMAIN用户的凭据。
我的ASMX webservice在我的桌面上运行(IIS 5.1 WinXP Pro - 机器名称为JOHNXP)。我在每个涉及的服务器中都启用了匿名UNCHECKED,我在我的场景中涉及的每个web.config中都有这个:
供应商webservice在SERVERTRIM(Win 2003 Server)上运行,它也是ASMX并使用WSE 3.0。
Wireshark和Netmon现在看起来太强大了。我正在计算“远程”服务器(SERVERTRIM)上的不同结果LOGON是足够的“证据”。上面的所有计算机都在同一个域中,但我希望将SERVERTRIM上的“远程”Web服务和我的中间Web服务保留在同一域中的不同服务器上(如果可能)。这种情况是否要求我必须深入研究“授权”?当在域中的另一台计算机上启动Web请求时,监视相同凭据导致ANONYMOUS LOGON的原因的最简单工具是什么?
答案 0 :(得分:0)
我对身份验证的了解有点模糊,但如果我理解了您的描述:
在第一种情况下,您正在浏览localhost,它冒充调用者,然后在另一台机器上调用Web服务。模拟与客户端在同一台机器上进行。我相信在这种情况下,模拟应用程序不需要在受委托信任的计算机上(因为它已经是与客户端相同的计算机)。
在第二种情况下,您正在浏览不同的 PC,它试图在呼叫第三台PC时模拟呼叫者。在这种情况下,中间的PC需要被委托进行委托(如果它是开发工作站,则可能不会这样)。