Запрос учетных данных Windows в пользовательском диалоговом окне WPF

В. Как я могу повторно использовать в WPF функции безопасности, предоставляемые Диалоговое окно учетных данных Windows (WinForms32)?

Мозговой штурм (не уверен, что это возможно):

  1. Разместите диалог WinForms32 внутри моего собственного диалога WPF. В MSDN есть статья, в которой объясняется, как размещать WinForms control (например, текстовое поле и т. д.), но не диалоговое окно WinForms. Да, это будет некрасиво, но нас сейчас не волнует внешний вид.

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

  3. Переместите текстовые поля имени пользователя и пароля WinForms в диалоговое окно WPF («переродите» существующие текстовые поля).

Любые предложения/комментарии (включая критику моих идей) приветствуются!


person tony19    schedule 19.03.2012    source источник
comment
я обычно не спрашиваю почему, но с безопасностью я должен... Почему? (разве пользователь уже не вошел в систему?)   -  person Jake Berger    schedule 20.03.2012
comment
Нет, не обязательно. Домен входа для этого приложения не обязательно совпадает с доменом, используемым для входа в Windows. Приложение позволяет переключать сервер аутентификации.   -  person tony19    schedule 20.03.2012
comment
статья Windows credentials dialog, на которую вы ссылаетесь, показывает весь фоновый код. почему вы не можете просто вставить его в пользовательский Window?   -  person Jake Berger    schedule 20.03.2012
comment
В этой статье не указано, как вставить его в пользовательское окно. Хотел бы я, чтобы это было так просто.   -  person tony19    schedule 20.03.2012
comment
лолз, извините за это. у них есть все необходимые функции pinvoke. создайте пользовательское окно WPF с элементами управления пользователем, паролем и т. д. и нажмите «ОК».   -  person Jake Berger    schedule 20.03.2012


Ответы (1)


Вы можете просто показать диалоговое окно WinForms в приложении WPF так же, как в обычном приложении WinForms, и оно просто работает. Например, в WPF нет FolderBrowserDialog, но мы используем версию этого диалога WinForms, и она работает нормально.

person Nikolay    schedule 19.03.2012
comment
На самом деле, я хотел бы избежать появления диалогового окна, которое отличается от остального приложения. - person tony19; 20.03.2012
comment
Я решил просто позволить диалогу отображаться отдельно, а не встраивать его. - person tony19; 22.03.2012