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