加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

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

发布时间:2020-12-14 04:06:31 所属栏目:Windows 来源:网络整理
导读:任何人都可以清楚地解释使用之间的区别 clientCredentialType = Windows,和 clientCredentialType = Ntlm 托管WCF服务时在服务器端Web.config中? 我有一个SOAP 1.1(basicHttpBinding)服务,用于与现有客户端互操作.它使用ASP.NET角色,因此需要对客户端进行身
任何人都可以清楚地解释使用之间的区别

> 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,因此您应该没有问题让它工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读