Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何设置客户端凭据?_C#_Wcf_Credentials - Fatal编程技术网

C# 如何设置客户端凭据?

C# 如何设置客户端凭据?,c#,wcf,credentials,C#,Wcf,Credentials,我正在尝试使用WCF服务: 服务的配置为: 当我尝试呼叫服务时: public async void LoadCities() { _client = new FlightInfoServiceClient(Maquette_MyAirport_Win8.FlightService.FlightInfoServiceClient.EndpointConfiguration.wsHttpBindingConfiguration, "http://servuucs.fr/FlightIn

我正在尝试使用WCF服务:

服务的配置为:


当我尝试呼叫服务时:

public async void LoadCities()
{
    _client = new FlightInfoServiceClient(Maquette_MyAirport_Win8.FlightService.FlightInfoServiceClient.EndpointConfiguration.wsHttpBindingConfiguration, "http://servuucs.fr/FlightInfoWebService/FlightInfoService.svc");

    var citiesResponse = await _client.GetAllCitiesAsync(new BaseRequest());
    var  myCities = citiesResponse.Cities;
}
我注意到这个例外:

错误:UnAuthorizedAccess描述:您无权访问此服务


如何设置我的ClientCredentials?

正如@Paciv在评论中所指出的,您可以通过代码来实现这一点。使用属性对其进行设置,如下所示:

_client.ClientCredentials.Windows.ClientCredential.Domain = "warzone42";
_client.ClientCredentials.Windows.ClientCredential.UserName = "user1428798";
_client.ClientCredentials.Windows.ClientCredential.Password = "p@ssw0rd";
在代码中设置凭据当然是不明智的。如果您没有像上面那样以编程方式设置Windows用户,我相信来自运行客户端的用户的凭据是以交叉方式发送的(这可能是一种更典型的情况?)


请注意,如果您在代码中设置凭据,您实际上可能正在查找。

请发布您的整个
配置。另外,请格式化,使其可读。不要依赖社区来修复您的格式设置。谢谢我更新了我的配置,有什么建议吗?标题和问题描述可能不同。但它回答了你的问题(“我如何设置客户凭据?”)。@lordkain(除此之外,我的答案是4岁-)我不知道你的意思。我回答中的这些示例凭据安全吗?否。是否为SecureString条目?不。在代码中硬编码凭据安全吗?可能不会。使用代码设置凭据通常安全吗?我当然希望如此:D.使用Windows.ClientCredential是否足够安全?这取决于你的要求和背景;“这不是我们能为你解答的问题。”杰罗恩说。4年:)我只是想知道安全方面的替代方案。这里不是讨论此问题的地方。只有当服务
clientCredentialType
设置为
Windows
时,此选项才有效。请注意,您可以使用其他方式设置
用户名
密码
(例如
\u client.ClientCredentials.username