CredentialCache.Add Método

Definição

Adiciona uma NetworkCredential instância ao cache de credenciais.

Sobrecargas

Nome Description
Add(Uri, String, NetworkCredential)

Adiciona uma NetworkCredential instância ao cache de credenciais para uso com protocolos diferentes do SMTP e a associa a um protocolo de autenticação e prefixo URI (Uniform Resource Identifier).

Add(String, Int32, String, NetworkCredential)

Adiciona uma NetworkCredential instância para uso com SMTP ao cache de credenciais e a associa a um computador host, porta e protocolo de autenticação. As credenciais adicionadas usando esse método são válidas apenas para SMTP. Esse método não funciona para solicitações HTTP ou FTP.

Add(Uri, String, NetworkCredential)

Adiciona uma NetworkCredential instância ao cache de credenciais para uso com protocolos diferentes do SMTP e a associa a um protocolo de autenticação e prefixo URI (Uniform Resource Identifier).

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

Um Uri que especifica o prefixo de URI dos recursos aos quais a credencial concede 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 de uma vez.

Exemplos

O exemplo de código a seguir inicializa um CredentialCache com várias credenciais de segurança e usa 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

Comentários

O Add método coloca uma NetworkCredential instância para uso com protocolos diferentes de SMTP no CredentialCache. O cache armazena credenciais na ordem em que elas são adicionadas a ela. Quando o GetCredential(Uri, String) método é chamado, ele retorna a instância correspondente NetworkCredential adequada.

Aplica-se a

Add(String, Int32, String, NetworkCredential)

Adiciona uma NetworkCredential instância para uso com SMTP ao cache de credenciais e a associa a um computador host, porta e protocolo de autenticação. As credenciais adicionadas usando esse método são válidas apenas para SMTP. Esse método não funciona para solicitações 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

Um String que identifica o computador host.

port
Int32

Um Int32 que especifica a porta à hostqual se conectar.

authenticationType
String

Um String que identifica o esquema de autenticação usado ao se conectar ao host uso credential.

credential
NetworkCredential

O NetworkCredential para adicionar ao cache de credenciais.

Exceções

host é null.

-ou-

authenticationType é null.

authenticationType não é um valor aceito.

port é menor que zero.

Exemplos

O exemplo de código a seguir inicializa um CredentialCache com várias credenciais de segurança para uso com SMTP e usa 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

Comentários

Esse método coloca uma NetworkCredential instância para uso com SMTP no CredentialCache. O cache armazena credenciais na ordem em que elas são adicionadas a ela. Quando o GetCredential(String, Int32, String) método é chamado, ele retorna uma NetworkCredential instância que é selecionada correspondendo a host, porte authenticationType. A comparação não diferencia maiúsculas de minúsculas.

Os valores com suporte são authenticationType "NTLM", "Digest", "Kerberos" e "Negotiate".

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

Aplica-se a