gpt4 book ai didi

c# - WCF Windows 身份验证,未通过

转载 作者:太空宇宙 更新时间:2023-11-03 16:25:59 24 4
gpt4 key购买 nike

在我的一个应用程序中,我在通过 Windows 帐户连接和验证 WCF 服务时遇到问题。为了对此进行测试,我已将其移动到一个新的解决方案中,该解决方案具有一个简单的控制台应用程序和 VS2010 中的标准 WCF 启动应用程序。

WCF 代码,用于一个简单的操作:

[PrincipalPermission(SecurityAction.Demand, Role = "xxxx\\xxxxxx")]
public string GetData(int value)
{
return string.Format("You entered: {0}", value);
}

配置文件:

 <bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IService1">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows" proxyCredentialType="Windows"/>
<message clientCredentialType="UserName" algorithmSuite="Default"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:16674/Service1.svc" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IService1" contract="testService.IService1"
name="BasicHttpBinding_IService1" />
</client>

以及对此的调用:

 testService.Service1Client sv = new testService.Service1Client();
sv.GetData(1);

我收到标准的“委托(delegate)人许可请求失败”。错误,虽然我看不出配置文件是怎么错的。我在创建服务对象时查看了它,并且 ClientCredentials.Windows 和用户名对象为空。任何人都可以帮助我,我在这里是不是很愚蠢?

谢谢

最佳答案

您需要使用代码设置凭据,请参阅此 article

 testService.Service1Client sv = new testService.Service1Client();
sv.ClientCredentials.Windows.ClientCredential = System.Net.CredentialCache.DefaultCredentials;
sv.GetData(1);

关于c# - WCF Windows 身份验证,未通过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12563096/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com