Обычная проверка подлинности для веб-службы - PullRequest
2 голосов
/ 03 декабря 2010

У меня проблемы с настройкой базовой аутентификации для веб-службы.Я пишу стандартный веб-сервис (не WCF), используя .NET 4.0

В файле web.config у меня есть следующие настройки:

<configuration>
    <system.web>
        <identity impresionate="true" />
        <authentication mode="Windows" />
    </system.web>
...
</configuration>

У веб-сервиса есть один метод:

[WebMethod(Description = "Returns currently logged in user.")]
public string WhoAmI()
{
    return "You are logged in as: " + System.Threading.Thread.CurrentPrincipal.Identity.Name;
}

Тестовым сервером является виртуальная машина, расположенная в том же домене, что и моя машина.Когда я получаю к нему доступ, я ничего не получаю для CurrentPrincipal.Identity.Name.

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

Любая помощь будет оценена.

Ответы [ 2 ]

1 голос
/ 03 декабря 2010

В IIS (inetmgr) вы можете найти окно «Метод аутентификации». (WebService1-> Свойства-> Безопасность каталога-> Элементы управления аутентификацией-> Кнопка «Изменить»)

Вы можете выбрать доступ с аутентификацией.(Diggest, Basic, Integrated Authendication) После этого изменение вашего метода будет работать так, как вы хотите.

0 голосов
/ 03 декабря 2010

Работает ли, если вы измените impresionate на impersonate?

...