Тестирование сайта интрасети, использующего проверку подлинности Windows - PullRequest
9 голосов
/ 26 июля 2011

Я пытаюсь разработать приложение / веб-сайт для интрасети, использующий аутентификацию Windows.

Я хотел бы протестировать его с несколькими пользователями, для ролей и т. Д.использую только мою учетную запись домена.Можно ли имитировать разных пользователей сайта?

Ответы [ 5 ]

12 голосов
/ 02 октября 2013

Поскольку картинка стоит тысячи слов, здесь рассказывается, как это сделать в IE на основе комментария 2GDev , скопированного здесь для ясности:

Перейти в Свойства обозревателя =>Безопасность => Локальная интрасеть => Пользовательский уровень и измените Аутентификацию пользователя на «Запрашивать имя пользователя и пароль»

enter image description here

Нажмите ОК, затем Применить.Закройте браузер.Снова откройте его и укажите URL-адрес веб-сайта, который вы хотите отладить.Вы должны с радостью увидеть приглашение для входа, где вы можете войти с другой учетной записью пользователя, например, для симуляции параллелизма (это то, что я сейчас делаю здесь):

enter image description here

6 голосов
/ 26 июля 2011

Когда вы используете аутентификацию Windows, вы можете изменить свою личность, запустив браузер от имени другого пользователя.

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

Если указанная идентификационная информация имеет доступ к машине, на которой вы работаете, браузер будет работать "как", указанная идентификационная информация.Если вы переходите на сайт с использованием проверки подлинности Windows, он будет проходить проверку подлинности, используя указанную идентификационную информацию, а не вашу собственную.

2 голосов
/ 26 июля 2011

Использовать олицетворение ...

С MSDN

Олицетворение

Приложение ASP.NET может использовать олицетворение для выполнения операций и доступ к ресурсам в контексте безопасности аутентифицированного клиента или определенной учетной записи Windows.

И в вашем web.config

<identity impersonate="true" username="TestUser" password="P@ssw0rd" />
0 голосов
/ 21 июня 2015

В моем случае есть таблицы БД с пользователями и их свойствами.В таблице пользователей появилось поле логина (Domain / UserName).Также получены пользовательские Identity и Principal, которые используют эту таблицу для аутентификации пользователя в методе global.asax autherticate_request.

Для имитации разных пользователей в режиме отладки на главной странице (или странице макета для mvc) есть специальный элемент управления.Он содержит поле выбора со всеми пользователями и кнопку «Применить».

На стороне сервера после нажатия кнопки «Применить» в сеансе происходит эмуляция входа пользователя и отправка обновления в ответ.

Таким образом, в следующем событии проверки подлинности произошла проверка для эмулированного входа пользователя в сеанс, и, если он существует, проверка подлинности продолжается на основе эмулированного входа.

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

0 голосов
/ 26 июля 2011

Как насчет установки и запуска Virtual PC с некоторыми готовыми для загрузки установленными системами из MS?

Запустив на своем компьютере виртуальный компьютер, вы можете эмулировать соединения с вашим компьютером, и в то же время он выглядит как другой компьютер с другим IP-адресом.

...