2010-06-10 4 views
0

Когда я хочу, чтобы подключиться к веб-службе Если я пишу это так:ASMX: Настройка пользователя/пароля во время выполнения

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

он работает. но мне нужна форма входа. так что пользователи могут ввести их пользователю/пасс

так я создаю NetworkCredential экземпляр и настройки своего пользователя/пасс членов от того, что я получаю от этого входа в форму, а затем вместо того, чтобы использовать строку выше, я пишу этот один:

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

но таким образом, когда я вызываю метод этого web-сервиса, он дает мне ошибки.

Неправильно ли вы устанавливаете учетные данные?

+0

Вы включая имя домена, при создании своей NetworkCredential? – Patrick

+0

no Я не ... просто я настраиваю пользователя и передаю, что получаю из текстовых полей в этой форме входа. Хм .. Хорошо .. так что если у меня есть что-то вроде этого: «WHQ_A_DOMAIN \ userID» ... тогда первая часть должна быть передана как Домен, а вторая часть должна быть передана как UserName? – Bohn

+1

Да, вызов должен выглядеть примерно так: var nc = new NetworkCredential («Имя», «Пароль», «Доменное имя»); – Patrick

ответ

2

Вы включаете доменное имя при создании своего NetworkCredential?

вызов должен выглядеть следующим образом:

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

я добавил это как ответ, так что, если он работал, я могу могу точки ...

Патрик.

+0

еще один вопрос о том, что: прямо сейчас у моего доменного имени есть такой шаблон, подобный этому, который задает компания «WHQ_A_DOMAIN \ myUser». , но я не уверен. Как это будет выглядеть, когда наши клиенты используют его в своих собственных доменах? , так есть способ, которым я могу получить имя домена? то, что, например, в моем случае вернет «WHQ_A_DOMAIN» – Bohn

+1

Ок, похоже, что Environment.UserDomainName возвращает имя домена. , так что всегда шаблон выглядит так: DOMAIN \ userName – Bohn

0

это то, что работает для меня

myservice g = new myservice(); 
g.AuthenticationHeaderValue = new AuthenticationHeader(); 
//Authentication values 
g.AuthenticationHeaderValue.UserName = "sdaaad"; 
g.AuthenticationHeaderValue.Password = "sbvbfb#%$3df"; 
Смежные вопросы