【问题标题】:Connecting to remote machine without username/password连接到没有用户名/密码的远程机器
【发布时间】:2013-08-19 21:10:31
【问题描述】:

当我尝试使用以下代码连接到远程集群时出现访问被拒绝错误。我想在代码中不提供用户名/密码的情况下建立连接。我将它们存储在 Windows 凭据管理器中。这在我在代码中提供用户名和密码时有效。我应该如何让它从凭证管理器中读取?

ConnectionOptions Options = new ConnectionOptions(); 
//String Domain = "mydomain"; 
String Domain = ""; 
//Options.Username = "administrator"; 
//Options.Password = "mypassword";

Options.Authority = "ntlmdomain:" + Domain;
Options.Authentication = AuthenticationLevel.PacketPrivacy;

ManagementScope Scope = new ManagementScope(@"\\win2012cluster\root\cimv2", Options); 
Scope.Connect();

【问题讨论】:

    标签: c# .net windows credentials


    【解决方案1】:

    您必须使用互操作才能在 .NET 中使用凭据管理 API: http://www.microsoft.com/indonesia/msdn/credmgmt.aspx

    【讨论】:

    • 也许我应该更清楚。对我来说,用户将凭据存储在凭据管理器的“Windows 凭据”部分中,我必须从中读取。仅当凭据存储在凭据管理器的“通用凭据”部分中时,您提供的链接才起作用。如果他们不在它下面,我只会得到用户名而不是密码。此外,存储在 Generic 下的凭据不会帮助其他应用程序自动连接。必须阅读和使用它们。
    • 有没有办法让你的回答者成为“不是回答者”?我希望其他人调查一下。
    • 我确信有,但是,我足够新,我不知道。检查常见问题解答。此外,我发布的链接提到了通用凭据,但我建议尝试为 Windows 而不是通用修改它。我自己没有使用过 windows 部分,因为当我使用基于 windows 的凭据时,我倾向于对活动目录进行身份验证。
    • 我将通用替换为 Windows 凭据。我只能得到用户名,但不能得到密码。
    猜你喜欢
    • 1970-01-01
    • 2019-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-18
    • 2016-09-14
    • 2021-12-29
    相关资源
    最近更新 更多