获取域中的登录凭据

时间:2014-06-30 09:18:19

标签: c# dns get

我希望通过我的代码获取用户的网络域凭据。

string user = Environment.UserName;
string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;

我可以使用以上样本获取NAME,但我也需要密码。有可能获得密码吗?

我的目的:我想在我的代码中使用用户的域登录凭据,因此用户无需再次登录我的Windows应用程序...,但我必须使用登录凭据进行SoapHeader身份验证...

...问候

1 个答案:

答案 0 :(得分:1)

请参阅this thread

那就是你已经拥有的东西:

  

您可以获取当前用户的当前身份   线程正在运行(不一定是登录用户)使用   的 WindowsIdentity.GetCurrent()即可。或者,您可以登录   用户名通过 Environment.UserName 属性。这不保证   然而,作为运行当前进程的用户。

是否可以检索密码?不,密码不存储在Windows中:

  

没有Windows API来获取用户的密码,因为密码不是   存储在Windows中。相反,Windows存储单向散列版本。

希望它有所帮助!

编辑:文档:以下是与GetCurrent()关联的文档和返回值WindowsIdentity