Joe*_*Joe 8 wcf cassini visual-studio-2005
任何人都可以清楚地解释使用之间的区别
clientCredentialType=Windows,和 clientCredentialType=Ntlm托管WCF服务时在服务器端Web.config中?
我有一个SOAP 1.1(basicHttpBinding)服务,用于与现有客户端互操作.它使用ASP.NET角色,因此需要对客户端进行身份验证.
当我使用VS2005(Cassini)服务器来托管服务时,我必须ClientCredentialType=Ntlm如上所述指定,并检查VS2005中项目属性中的Ntlm身份验证框. ClientCredentialType=Windows不起作用 - 客户获得:
401未经授权的错误
但是,当我在IIS下运行时,它是另一种方式:ClientCredentialType=Windows工作,并ClientCredentialType=Ntlm失败.
任何人都可以解释这一点,并最好建议一种方法,我可以使用相同的web.config文件在Cassini和IIS中运行该服务?
更新
我的dev机器上有.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客户端.
小智 4
clientCredentialType=Windows 使用内置的 Windows 身份验证,可以通过 Active Directory 和 NTLM 进行。
显然,NTLM 类型只会使用 NTLM 进行身份验证。
我确信您已经看过它,但这里有一个 WCF 安全性的链接: http ://msdn2.microsoft.com/en-us/library/ms734769.aspx
有关您的设置的更多详细信息将会有所帮助。IIS 和 Cassini 服务器是否在同一个机器上运行?如果不是,每个盒子上的帐户设置是否相同?IIS6 默认情况下支持 NTLM,因此您应该不会遇到让它工作的问题。
| 归档时间: |
|
| 查看次数: |
24930 次 |
| 最近记录: |