2012-03-19 45 views
1

問:如何在WPF中重用Windows credentials dialog(WinForms32)提供的安全功能?Windows自定義WPF對話框中的憑據提示

頭腦風暴(不知道任何這些是可能的):

  1. 託管自己的WPF對話框內WinForms32對話框。 MSDN有一個article,它解釋瞭如何託管WinForms 控件(即文本框等),但不包含WinForms對話框。是的,這將是醜陋的,但我們並不擔心現在看起來。

  2. 提供一個包裝WinForms對話框的WPF GUI。登錄後,WPF用戶名文本框和WPF SecurePassword文本框將被轉移到它們的WinForms等效項下。敏感數據的移動可能會帶來安全風險(但有些人可能會認爲攻擊者有很多其他方法來竊取您的密碼)。

  3. 將WinForms用戶名和密碼文本框移到WPF對話框(「重新保留」現有文本框)。

任何建議/意見(包括對我的想法的批評),我感謝!

+0

我通常不會問爲什麼,但爲了安全,我必須......爲什麼? (是不是用戶已經登錄?) – 2012-03-19 21:17:33

+0

不,不一定。此應用程序的登錄域不一定與用於登錄Windows的登錄域相同。該應用程序允許切換認證服務器。 – user46874 2012-03-20 02:35:47

+0

您鏈接的「Windows憑據對話框」文章顯示了所有後臺代碼。爲什麼你不能把它放到一個自定義的'Window'中? – 2012-03-20 13:49:08

回答

0

您可以像在常規的WinForms應用程序中那樣在WPF應用程序中顯示WinForms對話框,並且它可以正常工作。例如,WPF沒有FolderBrowserDialog,但我們使用WinForms版本的這個對話框,並且它工作正常。

+0

實際上,我想避免彈出與應用程序的其餘部分有不同外觀的對話框。 – user46874 2012-03-20 02:39:30

+0

我決定讓對話框自己顯示,而不是嵌入它。 – user46874 2012-03-22 15:35:03