ASP Classic Active Directory, автологин без всплывающего окна - PullRequest
1 голос
/ 02 ноября 2011

Есть похожие вопросы к этому, но они либо без ответа, либо о ASP.Net.

Мой сценарий таков: Мне бы хотелось, чтобы, когда пользователи заходили на внутренний сайт (ASP Classic, IIS 6, Windows Server 2003), он автоматически распознавал их и определял, кто они, основываясь на своей записи в Active Directory, БЕЗ всплывающего окна с просьбой ввести имя пользователя и пароль. Использование анонимной аутентификации в IIS означает, что LOGON_USER выводит пользователя с правами администратора. Отключение анонимного означает, что я получаю всплывающее окно.

Поскольку они уже вошли в Windows, есть ли способ определить, кто они, и не требовать от них повторного ввода имени пользователя и пароля.

Я получил взломанную интеграцию AD в ASP. Просто нужно остановить его от запроса имени пользователя и пароля.

Заранее спасибо, Джеймс

Ответы [ 3 ]

1 голос
/ 03 ноября 2011

В коллекции request.ServerVariables есть элемент AUTH_USER, который должен быть заполнен для аутентифицированных пользователей:

http://www.4guysfromrolla.com/demos/servervariables.asp

Чтобы классический ASP вошел в систему как другой пользователь, вы должнынужен внешний COM-объект.В сети есть пример, в котором есть некоторый код VB6, который можно скомпилировать в COM-объект activex и вызвать из классического ASP, чтобы войти в систему под другим пользователем (и снова выйти из системы):

http://www.iisfaq.com/Default.aspx?tabid=2947

Когда вы вошли в систему, ваш процесс asp будет выполняться под именем вошедшего в систему пользователя, а не под пользователем, настроенным в IIS.

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

Надеюсь, это поможет,

Эрик

-edit- извините, я просто понимаю, что, возможно, неправильно понял ваш вопрос ... аутентификация должнабудет обрабатываться IIS, когда ваши пользователи вошли в Windows, и «Встроенная проверка подлинности Windows» отмечена в параметре IIS в разделе «Безопасность каталога».Вы пытались установить ОБА и этот флажок И анонимный доступ, но затем запретили ЧИТАТЬ доступ к папкам ваших внутренних веб-сайтов для IUSR_ [имя_машины]?Это должно препятствовать доступу анонимных пользователей и пропускать пользователей Windows.Проще всего сначала проверить это в подпапке одного из ваших внутренних сайтов, прежде чем связываться с правами в корне сайта.

1 голос
/ 22 декабря 2011

Это было очень полезно для меня.Причина, по которой я обнаружил, что это не работает для меня, заключается в том, что есть "."в доменном имени.Это делает сайт не относящимся к интранету.

0 голосов
/ 03 ноября 2011

Это до браузера. То, что вы хотите, чтобы браузер пытался войти в систему, используя учетные данные текущего пользователя. В IE это поведение по умолчанию для сайтов, которые определены как находящиеся в «зоне интрасети». Поэтому один из подходов к этому заключается в использовании групповой политики для обеспечения того, чтобы на машинах в домене внутренние веб-сайты добавлялись во все списки сайтов интрасети клиентских машин.

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

...