Проверка учетных данных для доступа к веб-странице - PullRequest
3 голосов
/ 06 июля 2010

Есть ли хороший и проверенный кусок кода, который я могу использовать для этой цели:

получить пользователя / пароль и адрес веб-службы (asmx page) и проверить, если пользователь /проход действителен или нет.

Я думаю, что для этого мне нужно использовать HTTPRequest и т. д., но у меня нет хороших знаний по этой теме, из-за чего мой текущий метод не работает должным образом.Если для этого есть хороший кусок кода, я благодарен за указание на это.

Спасибо

PS: я не использую DefaultCredentials в своем коде.Поскольку я хочу, чтобы они вводили пользователя / пароль, теперь я должен иметь возможность ПРОВЕРИТЬ их пользователя / пароль и показать им правильное сообщение, если их учетные данные недействительны.

Ответы [ 2 ]

1 голос
/ 24 июля 2012
public bool TestCredentials(string url, string username, string password)
{
    var web = new WebClient();
    web.Credentials = new NetworkCredential(username,password);

    try
    {   
        web.DownloadData(url);
        return true;
    }
    catch (WebException ex)
    {
        var response = (HttpWebResponse)ex.Response;
        if (response.StatusCode == HttpStatusCode.Unauthorized)
        {
            return false;
        }

        throw;
    }   
}
1 голос
/ 06 июля 2010

Можно использовать Свойство HttpWebRequest.Credentials (зависит от аутентификации веб-службы) и Класс CredentialCache .

Также некоторые примеры кода (от Google):
Получение содержимого HTTP в .NET
Динамическое объединение вызова веб-службы с использованием HttpWebRequest с .Credentials.

...