Проблема Получение отображаемого имени клиента Windows в сценарии службы .asmx в (VB) ASP.NET

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

После поиска в Интернете я нашел два свойства, которые предположительно предоставляют странице сервера доступ к имени пользователя клиента; User.Identity.Name, а затем я получил еще один фрагмент кода от бывшего старшего коллеги, который ушел до того, как разобрался с этой проблемой, его функция использовала UserPrincipal.Current.DisplayName

и для обоих из них я получаю пустую строку.

Я искал, в чем может быть моя проблема, и я подозреваю, что это потому, что я каким-то образом не аутентифицирую пользователя на стороне сервера. Я только что напрямую обратился к этим двум свойствам/переменным (UserPrincipal.Current.DisplayName и User.Identity.Name)

может ли кто-нибудь помочь пролить свет на этот вопрос, пожалуйста? Я понятия не имею, что я делаю неправильно/не делаю.


person pythonian29033    schedule 12.08.2013    source источник


Ответы (1)


Ваши подозрения верны; вам необходимо явно аутентифицировать пользователя с помощью встроенного механизма .NET, такого как аутентификация с помощью форм или аутентификация Windows, для User.Identity, который будет заполнен фреймворком.

Вы не указали, откуда приходят запросы (веб, приложение Windows, служба Windows и т. д.), но эта статья содержит хороший обзор настройки проверки подлинности с помощью форм с помощью asmx.

person nunzabar    schedule 13.08.2013