Pergunta

Quando quero me conectar ao meu serviço da web, se eu escrever assim:

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

está funcionando. Mas eu preciso de um formulário de login. para que os usuários possam inserir seu usuário/passe

Por isso, estou criando uma instância do NetworkCredential e definindo seus membros do usuário/Pass do que recebo desse formulário de login e, em vez de usar a linha acima, estou escrevendo esta:

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

Mas dessa maneira, quando eu chamo um método desse serviço da web, ele me dá erros.

É a maneira errada de definir credenciais?

Foi útil?

Solução

Você está incluindo o nome de domínio quando cria seu NetworkCredential?

A chamada deve parecer algo assim:

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

Eu adicionei isso como uma resposta para que, se funcionasse, eu possa poder os pontos ...

Patrick.

Outras dicas

Isto é o que funcionou para mim

myservice g = new myservice();
g.AuthenticationHeaderValue = new AuthenticationHeader();
//Authentication values
g.AuthenticationHeaderValue.UserName = "sdaaad";
g.AuthenticationHeaderValue.Password = "sbvbfb#%$3df";
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top