CredentialCache.Add Metoda

Definice

NetworkCredential Přidá instanci do mezipaměti přihlašovacích údajů.

Přetížení

Add(Uri, String, NetworkCredential)

NetworkCredential Přidá instanci do mezipaměti přihlašovacích údajů pro použití s jinými protokoly než SMTP a přidruží ji k předponě identifikátoru URI (Uniform Resource Identifier) a ověřovacímu protokolu.

Add(String, Int32, String, NetworkCredential)

NetworkCredential Přidá instanci pro použití s protokolem SMTP do mezipaměti přihlašovacích údajů a přidruží ji k hostitelskému počítači, portu a ověřovacímu protokolu. Přihlašovací údaje přidané pomocí této metody jsou platné pouze pro SMTP. Tato metoda nefunguje pro požadavky HTTP nebo FTP.

Add(Uri, String, NetworkCredential)

Zdroj:
CredentialCache.cs
Zdroj:
CredentialCache.cs
Zdroj:
CredentialCache.cs

NetworkCredential Přidá instanci do mezipaměti přihlašovacích údajů pro použití s jinými protokoly než SMTP a přidruží ji k předponě identifikátoru URI (Uniform Resource Identifier) a ověřovacímu protokolu.

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)

Parametry

uriPrefix
Uri

A Uri , který určuje předponu identifikátoru URI prostředků, ke kterým přihlašovací údaje udělí přístup.

authType
String

Schéma ověřování používané prostředkem s názvem v uriPrefix.

cred
NetworkCredential

Přidá NetworkCredential se do mezipaměti přihlašovacích údajů.

Výjimky

uriPrefix je null.

-nebo-

authType je null.

Stejné přihlašovací údaje se přidávají více než jednou.

Příklady

Následující příklad kódu inicializuje s více přihlašovacími údaji CredentialCache zabezpečení a použije tyto přihlašovací údaje s WebRequest.

CredentialCache^ myCache = gcnew CredentialCache;

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

wReq->Credentials = myCache;
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

Poznámky

Metoda Add umístí NetworkCredential instanci pro použití s jinými protokoly než SMTP do CredentialCache. Mezipaměť ukládá přihlašovací údaje v pořadí, ve kterém jsou do ní přidány. Při volání GetCredential(Uri, String) metody vrátí správnou odpovídající NetworkCredential instanci.

Platí pro

Add(String, Int32, String, NetworkCredential)

Zdroj:
CredentialCache.cs
Zdroj:
CredentialCache.cs
Zdroj:
CredentialCache.cs

NetworkCredential Přidá instanci pro použití s protokolem SMTP do mezipaměti přihlašovacích údajů a přidruží ji k hostitelskému počítači, portu a ověřovacímu protokolu. Přihlašovací údaje přidané pomocí této metody jsou platné pouze pro SMTP. Tato metoda nefunguje pro požadavky HTTP nebo 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)

Parametry

host
String

A String , který identifikuje hostitelský počítač.

port
Int32

A Int32 , který určuje port, ke kterému se má připojit na host.

authenticationType
String

AString, který identifikuje schéma ověřování použité při připojování k host pomocí .cred

credential
NetworkCredential

Přidá NetworkCredential se do mezipaměti přihlašovacích údajů.

Výjimky

host je null.

-nebo-

authType je null.

authType není přijatá hodnota.

Hodnota port je menší než nula.

Příklady

Následující příklad kódu inicializuje s více přihlašovacími údaji CredentialCache zabezpečení pro použití s SMTP a použije jeden z těchto přihlašovacích údajů s SmtpClient.

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

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

NetworkCredential^ myCreds = gcnew NetworkCredential("username", "password", "domain");
CredentialCache^ myCredentialCache = gcnew 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);
    }
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

Poznámky

Tato metoda umístí NetworkCredential instanci pro použití s protokolem SMTP do objektu CredentialCache. Mezipaměť ukládá přihlašovací údaje v pořadí, ve kterém jsou do ní přidány. GetCredential(String, Int32, String) Při volání metody vrátí NetworkCredential instanci, která je vybrána porovnáním hosthodnot , porta authType. Porovnání se provádí bez rozlišování velkých a malých písmen.

Podporované hodnoty pro authType jsou NTLM, Digest, Kerberos a Negotiate.

Přihlašovací údaje přidané touto metodou jsou platné pouze pro použití s protokolem SMTP. Tato metoda nefunguje pro protokoly HTTP nebo FTP.

Platí pro