我希望通过我的代码获取用户的网络域凭据。
string user = Environment.UserName;
string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
我可以使用以上样本获取NAME,但我也需要密码。有可能获得密码吗?
我的目的:我想在我的代码中使用用户的域登录凭据,因此用户无需再次登录我的Windows应用程序...,但我必须使用登录凭据进行SoapHeader身份验证...
...问候
答案 0 :(得分:1)
请参阅this thread。
那就是你已经拥有的东西:
您可以获取当前用户的当前身份 线程正在运行(不一定是登录用户)使用 的 WindowsIdentity.GetCurrent()即可。或者,您可以登录 用户名通过 Environment.UserName 属性。这不保证 然而,作为运行当前进程的用户。
是否可以检索密码?不,密码不存储在Windows中:
没有Windows API来获取用户的密码,因为密码不是 存储在Windows中。相反,Windows存储单向散列版本。
希望它有所帮助!
编辑:文档:以下是与GetCurrent()关联的文档和返回值WindowsIdentity。