Получение логина запрашивающей стороны в ASP.NET/VB.NET - PullRequest
0 голосов
/ 02 июня 2009

Есть ли способ получить зарегистрированного пользователя из веб-приложения vb.net? То есть, если кто-то вошел в систему как "foo" / "bar" на своей локальной машине, заходит на сайт, мне нужен код, чтобы получить "foo" / "bar". Это для сквозного прохождения в нашей интрасети, где все используют один и тот же Active Directory.

По сути, мне нужно собрать имя пользователя вошедшего в систему пользователя и сравнить его с нашим экземпляром ActiveDirectory. Если это не помогает, мне нужно проверить переменные запроса и проверить их (эта часть довольно проста). Затем, если это не удается, мне нужно показать экран входа в систему (у меня также есть ручка для этого).

Я уже сталкивался и отбросил пару решений для части, с которой у меня возникли проблемы:

  1. request.serverVariables ("LOGON_USER") - это работает, только если у вас отключен анонимный доступ в IIS, и он должен быть включен для использования проверки подлинности с помощью форм (которую я использую).
  2. http://www.thescarms.com/dotnet/IsInRole.aspx - По некоторым причинам это решение не работает. Я подозреваю, что проблема в строке AppDomain.CurrentDomain.SetPrincipalPolicy (Principal.PrincipalPolicy.WindowsPrincipal), но смысл этой строки до сих пор скрыт, и я не могу понять, что на самом деле пытается сделать.

Ответы [ 3 ]

1 голос
/ 02 июня 2009

если вы используете проверку подлинности с помощью форм, пробовали ли вы System.Web.HttpContext.Current.User.Identity.Name?

1 голос
/ 02 июня 2009

HttpRequest.LogonUserIdentity

0 голосов
/ 02 июня 2009

Веб-браузер не будет отправлять локальные учетные данные пользователя на веб-сервер, если не выполнены две вещи:

  • Веб-сервер запрашивает их (т. Е. Анонимный доступ отключен, а встроенная проверка подлинности Windows включена).
  • Веб-браузер настроен на отправку локальных учетных данных по запросу (опция Internet Explorer, доступная в FireFox через плагин, не уверена в других браузерах). Если браузер не был настроен на отправку информации и веб-сервер запрашивает, пользователю будет предложено на всплывающем экране входа в систему.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...