【发布时间】:2012-03-19 20:07:33
【问题描述】:
问。如何在 WPF 中重用 Windows credentials dialog (WinForms32) 提供的安全功能?
头脑风暴(不确定是否可行):
在我自己的 WPF 对话框中托管 WinForms32 对话框。 MSDN 有一个article,它解释了如何托管 WinForms 控件(即文本框等)而不是 WinForms 对话框。是的,这会很丑,但我们现在不担心外观。
提供包装 WinForms 对话框的 WPF GUI。登录后,WPF 用户名文本框和 WPF
SecurePassword文本框在幕后转移到它们的 WinForms 等效项。敏感数据的移动可能会带来安全风险(但有些人可能会认为攻击者有很多其他方法可以窃取您的密码)。将 WinForms 用户名和密码文本框移动到 WPF 对话框(“重新设置”现有文本框)。
感谢任何建议/cmets(包括对我的想法的批评)!
【问题讨论】:
-
我通常不会问为什么,但是为了安全,我必须... 为什么? (用户不是已经登录了吗?)
-
不,不一定。此应用程序的登录域不一定与用于登录 Windows 的域相同。该应用程序允许切换身份验证服务器。
-
您链接到的
Windows credentials dialog文章显示了所有背景代码。为什么不能直接将其放入自定义Window? -
那篇文章没有说明如何“将其放入自定义窗口”。我希望它是那么简单。
-
大声笑,对不起。他们在那里拥有所有需要的 pinvoke 功能。使用用户、密码等控件创建一个自定义 WPF 窗口,然后点击 OK。
标签: wpf winforms windows-7 credential-providers