.net - 您如何获取当前登录用户的凭据(NetworkCredential)?

标签 .net defaultnetworkcredentials

我正在编写一些代码来利用第三方组件,当我开始使用它时,我需要提供一个实现ICredentials的对象。

如果我写以下内容...

var credential = new NetworkCredential("MyUsername", "MyPassword");

...并通过“凭据”,就可以了。但是我想传递当前用户的凭据(这是Windows服务,因此以指定用户身份运行)。

我已经尝试了以下两种方法,但都没有起作用(或返回任何东西):
NetworkCredential credential = System.Net.CredentialCache.DefaultCredentials;
NetworkCredential credential = CredentialCache.DefaultNetworkCredentials;

谁能建议如何获取一个适当的对象,该对象表示服务在其下运行的用户名的凭据?

谢谢

最佳答案

您是否尝试过WindowsIdentity.GetCurrent()?

您也可以看一下这个例子... http://www.codeproject.com/KB/vb/Windows_Service.aspx

关于.net - 您如何获取当前登录用户的凭据(NetworkCredential)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2319675/

相关文章:

Powershell:从 runas/netonly 启动时发现默认网络凭据

.net - 使用 "default proxy"时,用户名/密码从何而来?

.net - 从 Windows 命令行运行 MSTests

c# - .Net 插件和版本控制

.net - 多次初始化单例

c# - 多个单词导致自动完成扩展程序出现问题

asp.net - 无法共同创建探查器错误 - 但未使用探查器

c# - DefaultCredentials 在哪里拉出 "UserName"作为 web 请求的用户名?