C# 如何设置客户端凭据?
我正在尝试使用WCF服务: 服务的配置为: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
当我尝试呼叫服务时:
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
)