如何通过互联网进行NTLM Windows Auth?

时间:2012-03-19 16:01:17

标签: wpf wcf authentication ntlm

我有一个使用Windows身份验证与WCF对话的WPF客户端。

当人们访问域名时,它可以通过凭据,但不能通过互联网使用客户端

  ClientBase.Credentials = OnNetwork ? CredentialCache.DefaultCredentials : new NetworkCredential(tbxUsername.Text, pbxPassword.SecurePassword);

这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:1)

您可以使用ADFS 2.0 + Windows Identity Foundation。请参阅:http://blogs.msdn.com/b/appfabriccat/archive/2010/12/14/ad-fs-2-0-to-secure-wcf-and-workflow-services-hosted-in-windows-server-appfabric.aspx

该文章讨论了在Windows Azure中托管的WCF服务,但您应该能够应用相同的主要想法。

答案 1 :(得分:1)

我认为非常合适的解决方案是@Jeff指出的Windows Identity Foundation。

Microsoft自己

NTLM身份验证已弃用(请参阅MSDN上的this article)。此外,NTLMSSP来自Windows Server 2008(及更高版本)disabled by default

无论如何要使用NTLM,你必须在IIS主机上启用IWA,开始阅读Microsoft Technet上的这篇文章以了解如何(以及{7}}对于IIS 7而言。

请查看MSDN以获取更多详细信息,但作为快速概述,您可以查看这些文章(按重要性顺序):