如何在C#中验证Web服务

时间:2014-12-15 12:33:17

标签: c# .net web-services httprequest

在C#.net项目中添加url到服务引用之后我能够访问服务的不同方法,服务提供者给了我用于身份验证的用户名和密码,但是在访问属性时我没有得到字段/用户名和密码(标题)的属性。所以我的问题是如何验证这样的Web服务?

----------------------------------------代码------ ------------------------------------------------

queryNniNameType obj = new queryNniNameType();

reqtype = new queryNameAvailabilityRequestType();
headerType = new CNR.ServiceReference1.businessDocumentHeaderType();
businessbody = new queryNniNameType(); 

headerType.messageType = "test";
headerType.messageVersion = 2;
headerType.senderType ="sendertype";
headerType.senderId = "381133334535055664"; 
businessbody.proposedName = "asdfsf";  

reqtype.businessDocumentHeader = headerType;
reqtype.businessDocumentBody = businessbody;


nameAvailabilityResponseType nptype = new nameAvailabilityResponseType();
businessDocumentHeaderType bustype = new businessDocumentHeaderType();
req = new ExternalQueryNameAvailabilityClient();

reply = new queryNameAvailabilityReplyType();
reply.businessDocumentBody = nptype;
reply.businessDocumentHeader = bustype;

那么在哪里传递用户名和密码?

2 个答案:

答案 0 :(得分:0)

在WCF服务中会是这样的:

client.ClientCredentials.UserName.UserName = "user";
client.ClientCredentials.UserName.Password = "pass";

并且对于Web服务使用客户端的凭据属性。

答案 1 :(得分:0)

为Web服务和web api提供几乎相同的安全性。 请参阅此answer 几天前我问过并接近了。