CredentialCache.Add Método

Definição

Adiciona uma NetworkCredential instância à cache de credenciais.

Sobrecargas

Name Description
Add(Uri, String, NetworkCredential)

Adiciona uma NetworkCredential instância à cache de credencial para uso com protocolos que não sejam SMTP e associa-a a um prefixo e protocolo de autenticação Uniform Resource Identifier (URI).

Add(String, Int32, String, NetworkCredential)

Adiciona uma NetworkCredential instância para uso com SMTP à cache de credenciais e associa-a a um computador anfitrião, porta e protocolo de autenticação. As credenciais adicionadas através deste método são válidas apenas para SMTP. Este método não funciona para pedidos HTTP ou FTP.

Add(Uri, String, NetworkCredential)

Adiciona uma NetworkCredential instância à cache de credencial para uso com protocolos que não sejam SMTP e associa-a a um prefixo e protocolo de autenticação Uniform Resource Identifier (URI).

public:
 void Add(Uri ^ uriPrefix, System::String ^ authType, System::Net::NetworkCredential ^ cred);
public void Add(Uri uriPrefix, string authType, System.Net.NetworkCredential cred);
member this.Add : Uri * string * System.Net.NetworkCredential -> unit
Public Sub Add (uriPrefix As Uri, authType As String, cred As NetworkCredential)

Parâmetros

uriPrefix
Uri

A que especifica o prefixo URI dos recursos a que a credencial concede Uri acesso.

authType
String

O esquema de autenticação usado pelo recurso nomeado em uriPrefix.

cred
NetworkCredential

O NetworkCredential para adicionar ao cache de credenciais.

Exceções

uriPrefix é null.

-ou-

authType é null.

As mesmas credenciais são adicionadas mais do que uma vez.

Exemplos

O seguinte exemplo de código inicializa um CredentialCache com múltiplas credenciais de segurança e utiliza essas credenciais com um WebRequest.

CredentialCache myCache = new CredentialCache();

myCache.Add(new Uri("http://www.contoso.com/"),"Basic",new NetworkCredential(UserName,SecurelyStoredPassword));
myCache.Add(new Uri("http://www.contoso.com/"),"Digest", new NetworkCredential(UserName,SecurelyStoredPassword,Domain));

wReq.Credentials = myCache;
Dim myCache As New CredentialCache()

myCache.Add(New Uri("http://www.contoso.com/"), "Basic", New NetworkCredential(UserName, SecurelyStoredPassword))
myCache.Add(New Uri("http://www.contoso.com/"), "Digest", New NetworkCredential(UserName, SecurelyStoredPassword, Domain))

wReq.Credentials = myCache

Observações

O Add método coloca uma NetworkCredential instância para uso com protocolos diferentes do SMTP no CredentialCache. A cache armazena as credenciais pela ordem em que são adicionadas. Quando o GetCredential(Uri, String) método é chamado, devolve a instância correspondente NetworkCredential correta.

Aplica-se a

Add(String, Int32, String, NetworkCredential)

Adiciona uma NetworkCredential instância para uso com SMTP à cache de credenciais e associa-a a um computador anfitrião, porta e protocolo de autenticação. As credenciais adicionadas através deste método são válidas apenas para SMTP. Este método não funciona para pedidos HTTP ou FTP.

public:
 void Add(System::String ^ host, int port, System::String ^ authenticationType, System::Net::NetworkCredential ^ credential);
public void Add(string host, int port, string authenticationType, System.Net.NetworkCredential credential);
member this.Add : string * int * string * System.Net.NetworkCredential -> unit
Public Sub Add (host As String, port As Integer, authenticationType As String, credential As NetworkCredential)

Parâmetros

host
String

A String que identifica o computador anfitrião.

port
Int32

A Int32 que especifica a porta a ligar em host.

authenticationType
String

A String que identifica o esquema de autenticação usado ao ligar a host .credential

credential
NetworkCredential

O NetworkCredential para adicionar ao cache de credenciais.

Exceções

host é null.

-ou-

authenticationType é null.

authenticationType Não é um valor aceite.

port é inferior a zero.

Exemplos

O exemplo de código seguinte inicializa um CredentialCache com múltiplas credenciais de segurança para uso com SMTP e utiliza uma dessas credenciais com um SmtpClient.

SmtpClient client = new SmtpClient("ContosoMail", 45);
MailAddress from = new MailAddress("sender@SenderMailServerName.com", "Sender Name");
MailAddress to = new MailAddress("recepient@RecepientMailServerName.com", "Recepient Name");
MailMessage message = new MailMessage(from, to);

message.Body = "This is a test email message sent by an application. ";
message.Subject = "Test Email using Credentials";

NetworkCredential myCreds = new NetworkCredential("username", "password", "domain");
CredentialCache myCredentialCache = new CredentialCache();
try
{
    myCredentialCache.Add("ContoscoMail", 35, "Basic", myCreds);
    myCredentialCache.Add("ContoscoMail", 45, "NTLM", myCreds);

    client.Credentials = myCredentialCache.GetCredential("ContosoMail", 45, "NTLM");
    client.Send(message);
    Console.WriteLine("Goodbye.");
}
    catch(Exception e)
    {
          Console.WriteLine("Exception is raised. ");
          Console.WriteLine("Message: {0} ",e.Message);
    }
Dim client As New SmtpClient("ContosoMail", 45)
Dim from As New MailAddress("sender@SenderMailServerName.com", "Sender Name")
Dim sendTo As New MailAddress("recepient@RecepientMailServerName.com", "Recepient Name")
Dim message As New MailMessage(from, sendTo)

message.Body = "This is a test email message sent by an application. "
message.Subject = "Test Email using Credentials"

Dim myCreds As New NetworkCredential("username", "password", "domain")
DIm myCredentialCache As New CredentialCache()

Try 
    myCredentialCache.Add("ContoscoMail", 35, "Basic", myCreds)
    myCredentialCache.Add("ContoscoMail", 45, "NTLM", myCreds)

    client.Credentials = myCredentialCache.GetCredential("ContosoMail", 45, "NTLM")
    client.Send(message)
    Console.WriteLine("Goodbye.")
Catch e As Exception
    Console.WriteLine("Exception is raised. ")
    Console.WriteLine($"Message: {e.Message} ")
End Try

Observações

Este método coloca uma NetworkCredential instância para uso com SMTP no CredentialCache. A cache armazena as credenciais pela ordem em que são adicionadas. Quando o GetCredential(String, Int32, String) método é chamado, devolve uma NetworkCredential instância que é selecionada ao corresponder os host, port, e authenticationType. A comparação é feita de forma insensível a cada caso.

Os valores suportados para authenticationType são "NTLM", "Digest", "Kerberos" e "Negotiate".

As credenciais adicionadas com este método só são válidas para uso com SMTP. Este método não funciona para protocolos HTTP ou FTP.

Aplica-se a