当前位置:  开发笔记 > 编程语言 > 正文

C#:向用户询问密码,然后将密码存储在SecureString中

如何解决《C#:向用户询问密码,然后将密码存储在SecureString中》经验,为你挑选了1个好方法。

在我正在为客户开发的小应用程序中,我需要询问用户他的Windows登录用户名,密码和域,然后使用System.Diagnostics.Process.Start启动应用程序.

我有一个带有UseSystemPasswordChar的文本框来屏蔽输入的密码.

我需要一个System.Security.SecureString来将密码提供给System.Diagnostics.Process.Start.

如何将输入的文本转换为安全字符串而不是一个又一个字符?或者:是否有更好的窗口控件要求用户输入密码,将输入的文本作为SecureString返回?



1> Scott Dorman..:

尝试查看SecurePasswordTextBox自定义控件.您是否尝试执行类似于"运行方式"类型命令的操作,您尝试以与当前登录用户不同的用户身份运行该进程?如果没有,您应该能够只调用Process.Start并让它获取当前用户凭据.

另外,请查看以下资源:

CredUIPromptForCredentials

CredUIPromptForWindowsCredentials(Vista和Server 2008)

Microsoft支持文章

LogonUser功能

LogonUserEx功能

CreateProcessAsUser

CreateProcessWithLogonW

CreateProcessWithTokenW

最好的选择可能是使用一些interop p/inovke代码调用CredUIPromptForCredentials来显示标准Windows对话框,然后使用该信息调用Process.Start,或者更有可能调用CreateProcessAsUser函数.

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有