получить имя пользователя Windows с помощью JavaScript - PullRequest
1 голос
/ 10 июня 2010

У меня есть сайт, который встроен в ASP.net и C #.Давайте назовем это веб-приложением.он использует систему форм для входа в нее и не может быть легко изменен.

Я получил запрос на изменение входа в систему для какой-либо проверки подлинности Windows.Я объясню.Наш вход в Windows использует активный каталог для входа пользователей в свою учетную запись Windows.их логин sXXXXXXX.Х числа.В моем веб-приложении я хочу взять номера пользователей из логина их активного каталога и проверить, существуют ли они в базе данных веб-приложения.если он существует, они автоматически войдут в систему. Если этого не произойдет, они будут перенаправлены на обычную страницу входа в систему webapp, которая используется в настоящее время.

Я попытался изменить свой IIS, чтобы отключить анонимный входи включение аутентификации Windows, поэтому пользовательский браузер отправляет свое текущее имя пользователя в мой веб-приложение.Я также изменил веб-конфигурацию с «Формы» на «Windows», что сделало весь мой веб-приложение устаревшим, так как не работала вся система форм.

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

Ответы [ 3 ]

2 голосов
/ 10 июня 2010
<script language="javascript">
    var username = '<%HttpContext.Current.User.Identity.Name %>';

</script>
1 голос
/ 07 июля 2010

Решение, которое я нашел для получения имени пользователя, отправленного на сервер, было:

string winlogon = Request.ServerVariables["LOGON_USER"];

После включения режима проверки подлинности Windows в IIS.

1 голос
/ 10 июня 2010

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

Я бы посмотрел на реализацию страницы входа для аутентификации форм, которая аутентифицирует пользователя при загрузке страницы с использованием HttpContext.Current.User.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...