我已经在自己的工作组中的服务器上设置了 WCF 服务。我试图从位于公司域的客户端建立一个 TCP/IP 连接。当我尝试打开连接时,我收到一条 SecurityNegotiationException 消息:
“身份验证期间未满足远程端安全要求。请尝试提高 ProtectionLevel 和/或 ImpersonationLevel。” 内部异常显示:“网络登录失败”
在与一些同事讨论了这些问题并进行了一些谷歌研究后,我得出的结论是,问题在于客户端试图使用我的公司网络登录名和密码登录到服务器。由于服务器不是公司网络的一部分,它不知道我的公司身份,然后拒绝登录/连接尝试。这种分析是否正确,我不知道。
谷歌结果似乎表明,也许解决方案是我需要模拟服务器计算机上存在的用户帐户。--我还偶然发现了这篇演示用户模拟的代码项目文章。由于服务器上唯一的帐户是没有密码的管理员,我尝试将域作为计算机的 IP 地址为“10.0.0.11”,用户名为“管理员”,密码为“”。 http://www.codeproject.com/KB/dotnet/UserImpersonationInNET.aspx?display=Print 不幸的是,它失败并显示以下消息:
“登录失败:未知用户名或密码错误”
问题的另一个提示:当客户端和服务器都是公司网络上的机器时,根本不存在连接问题。
如何解决错误并完成与服务器的连接?尽管这不是最佳实践,但我完全可以移除任何安全措施,这样我就可以继续推进这个项目