wcf – ClientCredentialType = Windows和= Ntlm之间的差异

前端之家收集整理的这篇文章主要介绍了wcf – ClientCredentialType = Windows和= Ntlm之间的差异前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
任何人都可以清楚地解释使用之间的区别

> clientCredentialType = Windows,和
> clientCredentialType = Ntlm

托管WCF服务时在服务器端Web.config中?






我有一个SOAP 1.1(basicHttpBinding)服务,用于与现有客户端互操作.它使用ASP.NET角色,因此需要对客户端进行身份验证.

当我使用VS2005(Cassini)服务器来托管服务时,我必须如上所述指定ClientCredentialType = Ntlm,并检查VS2005中项目属性中的Ntlm身份验证框. ClientCredentialType = Windows不起作用 – 客户端获得:

401 Unauthorized error

但是,当我在IIS下运行时,反过来说:ClientCredentialType = Windows工作,ClientCredentialType = Ntlm失败.

任何人都可以解释这一点,并最好建议一种方法,我可以使用相同的web.config文件在Cassini和IIS中运行该服务?

更新

我的开发机器上有.NET 3.5 SP1,它是在域中运行的XP SP2.因此,Cassini在域帐户下运行,而IIS 5.1在本地帐户下运行.

我想知道它是否与这些文章中描述的.NET 3.5SP1的重大变化有关.

http://www.aspnetpro.com/newsletterarticle/2008/12/asp200812ab_l/asp200812ab_l.asp
http://msmvps.com/blogs/alvin/archive/2008/11/14/net-3-5-sp1-breaking-change-to-wcf.aspx
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=354236

这种情况听起来类似于clientCredentialType = Windows在域帐户下运行时失败(这是我使用Cassini的情况 – 作为我的普通域用户帐户运行),并且在本地帐户下运行时工作(这是我在IIS中的情况) ).

问题是建议的修复程序需要更改WCF客户端配置文件 – 但在我的情况下,我使用SOAP 1.1(basicHttpBinding)与非WCF客户端.

clientCredentialType = Windows使用内置的Windows身份验证,可以通过Active Directory和NTLM.

显然,NTLM类型将仅使用NTLM进行身份验证.

我相信你已经看过了,但这里是WCF安全性的链接
http://msdn2.microsoft.com/en-us/library/ms734769.aspx

有关您的设置的更多详细信息将有所帮助IIS和Cassini服务器是否在同一个盒子上运行?如果没有,你在每个盒子上设置相同的帐户?默认情况下IIS6支持NTLM,因此您应该没有问题让它工作.

猜你在找的Windows相关文章