ASMX: Setting User/Password at run-time

2019-08-30 08:06发布

问题:

When I want to connect to my web service If I write it like this:

m_TransferServiceSoap.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;

it is working. but I need a Login Form. so users can enter their user/pass

so I am creating a NetworkCredential instance and setting its user/pass members from what I get from that login form and then instead of using the line above I am writing this one:

m_TransferServiceSoap.Credentials = userpass; // the instance above.

but in this way when I call a method of that webService, it gives me errors .

Is it the wrong way to set credentials?

回答1:

Are you including the domain name when you create your NetworkCredential?

the call should look something like this:

var nc = new NetworkCredential( "Name","Password","Domain Name"); 

I've added this as an answer so that, if it worked, I can can the points...

Patrick.



回答2:

this is what worked for me

myservice g = new myservice();
g.AuthenticationHeaderValue = new AuthenticationHeader();
//Authentication values
g.AuthenticationHeaderValue.UserName = "sdaaad";
g.AuthenticationHeaderValue.Password = "sbvbfb#%$3df";