ASMX: Configurando usuário/senha no tempo de execução
-
26-09-2019 - |
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?
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";