Приложение для передачи учетных данных во всплывающее окно аутентификации IE - PullRequest
0 голосов
/ 13 февраля 2012

Возможно, об этом уже спрашивали, но я его нигде не видел.

По сути, я хочу иметь небольшое приложение C # (РЕДАКТИРОВАТЬ: или BHO) запустить и определить, когда IE (8 или выше) был запущен пользователем.После запуска ему нужно просто сидеть, пока он не заметит, что всплывающее окно с запросом аутентификации было представлено изнутри IE.Это тогда скрыло бы всплывающее окно IE и предоставило бы пользователю пользовательское всплывающее окно аутентификации.Это новое всплывающее окно будет затем передавать введенные учетные данные обратно в IE для аутентификации .

Приложение (или служба) будет кэшировать учетные данные и передавать их во все дополнительные всплывающие окна аутентификации, полученные в локальной интрасети.Итак, это своего рода решение для квазиоднократного единого входа.

Прежде чем люди начнут предлагать изменить настройки в IE или на серверах, имейте в виду, что это невозможно.Вышеприведенное объяснение точно , что нам нужно сделать.Мне это тоже не нравится.

В настоящее время у нас есть небольшая внутренняя утилита, написанная на C ++ (не .NET), которая очень успешно обрабатывает это точно такое же поведение, но исходный код больше не доступен для исправлений./upgrades.

Все будет полезно.Спасибо всем!

К вашему сведению - Только что увидел первый комментарий.Нет, это не тип вредоносного ПО, спуфера pwd или подобного.Сотрудник получает персонализированное всплывающее окно с логотипом компании, чтобы справиться со всем.Целью этого является обработка нескольких различных типов аутентификаций (некоторые из которых являются пользовательскими), специфичных для разных сайтов в нашей интрасети.

Ответы [ 2 ]

2 голосов
/ 14 февраля 2012

Я наконец нашел и решил решение, которое уже работает в качестве прототипа (очень ограниченный прототип). Предстоит еще много работы, но, по крайней мере, в конце туннеля есть свет. Если я отправлюсь по другому маршруту или получу лучшие предложения, я обязательно обновлю эту информацию. Для тех, кому может понадобиться что-то подобное (сомнительно), вот по сути то, что я делаю.

Объект Browser Helper

  • Создается с каждым новым экземпляром IE.
  • Регистрируется в IE для получения событий и создания новых окон / элементов управления.
  • Крючки для получения описаний элементов управления для логики, чтобы решить, что делать.
  • Обрабатывает каждое диалоговое окно аутентификации или элемент управления.
  • Дескриптор UIAutomation COM для проверки запрашивающего сервера и области.
  • Многопоточная опора, способная блокировать резьбу.
  • Зашифрованные учетные данные, кэшированные в памяти.
  • .... и многое другое.

Надеюсь, это поможет любому, кому нужно сделать то же самое. Спасибо всем за любую помощь, которую вы могли бы оказать. Я думаю, что каждый такой же нуб с BHO, как и я.

РЕДАКТИРОВАТЬ 2/14: Это действительно ответ. У меня есть БХО, работающий по желанию. Есть еще несколько незначительных изменений, которые нужно выполнить. (На самом деле, это не так незначительно, но работает.)

1 голос
/ 13 февраля 2012

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

Другая проблема в том, что ваша архитектура фрагментирована. Если у вас есть тонны рабочих станций в большой организации, которые не используют надлежащую платформу для унифицированной аутентификации (например, AD / LDAP / Etc ...), то вы столкнетесь с очень трудным для поддержания беспорядком.

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

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

Взгляните на приложение FOSS KeePass . Это позволит вам надежно хранить свои пароли (проблема, с которой ваше предложение все равно придется решать), и вы можете попросить своих пользователей хранить свои БД на USB-флешке, которую они всегда держат при себе. Они могут один раз войти в свою базу данных KeePass и использовать горячие клавиши Auto-Type для ввода своих паролей в различные поля входа, для которых они запрашиваются. Это может работать не только для запросов аутентификации IE, но и для всех ваших приложений.

Приятно то, что вы можете заставить людей использовать относительно надежные пароли, поскольку им нужно будет запомнить только один (KeePass DB).


В конечном итоге вы столкнетесь с проблемами, пытаясь решить проблемы с авторизацией, даже ваше существующее решение, вероятно, делает это очень хакерским способом, и в будущем вам будет все труднее продолжать это поведение. , Это главным образом потому, что это решение «IFFY AT BEST», и, вероятно, его будет сложнее выполнить по мере развития безопасности.

...