语言

NetworkCredential 类

定义

提供基于密码的身份验证方案(如基本、摘要、NTLM 和 Kerberos 身份验证)的凭据。

public ref class NetworkCredential : System::Net::ICredentials, System::Net::ICredentialsByHost
public ref class NetworkCredential : System::Net::ICredentials
public class NetworkCredential : System.Net.ICredentials, System.Net.ICredentialsByHost
public class NetworkCredential : System.Net.ICredentials
type NetworkCredential = class
    interface ICredentials
    interface ICredentialsByHost
type NetworkCredential = class
    interface ICredentials
Public Class NetworkCredential
Implements ICredentials, ICredentialsByHost
Public Class NetworkCredential
Implements ICredentials
继承
NetworkCredential
实现

示例

下面的代码示例将对象与一NetworkCredential组统一CredentialCache资源标识符(URI)相关联。 然后,它将传递给 CredentialCache 对象 HttpClient ,该对象使用该对象对 Internet 服务器的请求进行身份验证。

NetworkCredential myCred = new NetworkCredential(
    SecurelyStoredUserName,SecurelyStoredPassword,SecurelyStoredDomain);

CredentialCache myCache = new CredentialCache();

myCache.Add(new Uri("http://www.contoso.com"), "Basic", myCred);
myCache.Add(new Uri("http://app.contoso.com"), "Basic", myCred);

// HttpClient lifecycle management best practices:
// https://learn.microsoft.com/dotnet/fundamentals/networking/http/httpclient-guidelines#recommended-use
HttpClient client = new HttpClient(new HttpClientHandler
{
    Credentials = myCache
});
Dim myCred As New NetworkCredential(SecurelyStoredUserName, SecurelyStoredPassword, SecurelyStoredDomain)

Dim myCache As New CredentialCache()

myCache.Add(New Uri("http://www.contoso.com"), "Basic", myCred)
myCache.Add(New Uri("http://app.contoso.com"), "Basic", myCred)
       
' HttpClient lifecycle management best practices:
' https://learn.microsoft.com/dotnet/fundamentals/networking/http/httpclient-guidelines#recommended-use
Dim client As New HttpClient(New HttpClientHandler With
{
    .Credentials = myCache
})

注解

该 NetworkCredential 类是一个基类,用于在基于密码的身份验证方案中提供凭据,例如基本、摘要、NTLM 和 Kerberos。 实现 ICredentials 接口的类(如 CredentialCache 类)返回 NetworkCredential 对象。

注释

在 Unix 平台上,使用 NTLM 身份验证可能需要为实现使用的 GSSAPI 层安装 NTLM 插件。 在 Ubuntu 分发版上,将调用 gss-ntlmssp包。 或者,应用程序可以通过设置 _UseManagedNtlm .csproj 属性(.NET 仅限 9+ )或设置 System.Net.Security.UseManagedNtlm AppContext 开关来选择加入 NTLM 的托管实现。

在Windows,NTLM 和协商 (Kerberos) 身份验证始终依赖于操作系统的 GSSAPI。

此类不支持基于公钥的身份验证方法,例如安全套接字层 (SSL) 客户端身份验证。

构造函数

名称 说明
NetworkCredential()

初始化 NetworkCredential 类的新实例。

NetworkCredential(String, SecureString, String)

使用指定的用户名、密码和域初始化类的新实例 NetworkCredential 。

NetworkCredential(String, SecureString)

使用指定的用户名和密码初始化类的新实例 NetworkCredential 。

NetworkCredential(String, String, String)

使用指定的用户名、密码和域初始化类的新实例 NetworkCredential 。

NetworkCredential(String, String)

使用指定的用户名和密码初始化类的新实例 NetworkCredential 。

属性

名称 说明
Domain

获取或设置验证凭据的域或计算机名称。

Password

获取或设置与凭据关联的用户名的密码。

SecurePassword

获取或设置作为 SecureString 实例的密码。

UserName

获取或设置与凭据关联的用户名。

方法

名称 说明
Equals(Object)

确定指定的对象是否等于当前对象。

(继承自 Object)
GetCredential(String, Int32, String)

返回指定主机、端口和身份验证类型的类实例 NetworkCredential 。

GetCredential(Uri, String)

返回指定统一资源标识符(URI)和身份验证类型的类实例 NetworkCredential 。

GetHashCode()

用作默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type。

(继承自 Object)
MemberwiseClone()

创建当前 Object的浅表副本。

(继承自 Object)
ToString()

返回一个表示当前对象的字符串。

(继承自 Object)

适用于