Aracılığıyla paylaş


CredentialCache.Add Yöntem

Tanım

Kimlik bilgisi önbelleğine bir NetworkCredential örnek ekler.

Aşırı Yüklemeler

Add(Uri, String, NetworkCredential)

SMTP dışındaki protokollerle kullanılmak üzere kimlik bilgisi önbelleğine bir NetworkCredential örnek ekler ve bunu tekdüzen Kaynak Tanımlayıcısı (URI) ön eki ve kimlik doğrulama protokolüyle ilişkilendirir.

Add(String, Int32, String, NetworkCredential)

Kimlik bilgisi önbelleğine SMTP ile kullanılacak bir NetworkCredential örnek ekler ve bunu bir konak bilgisayar, bağlantı noktası ve kimlik doğrulama protokolüyle ilişkilendirir. Bu yöntem kullanılarak eklenen kimlik bilgileri yalnızca SMTP için geçerlidir. Bu yöntem HTTP veya FTP istekleri için çalışmaz.

Add(Uri, String, NetworkCredential)

Kaynak:
CredentialCache.cs
Kaynak:
CredentialCache.cs
Kaynak:
CredentialCache.cs

SMTP dışındaki protokollerle kullanılmak üzere kimlik bilgisi önbelleğine bir NetworkCredential örnek ekler ve bunu tekdüzen Kaynak Tanımlayıcısı (URI) ön eki ve kimlik doğrulama protokolüyle ilişkilendirir.

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)

Parametreler

uriPrefix
Uri

Uri Kimlik bilgilerinin erişim izni veren kaynakların URI ön ekini belirten bir.

authType
String

içinde adlı uriPrefixkaynak tarafından kullanılan kimlik doğrulama şeması.

cred
NetworkCredential

NetworkCredential kimlik bilgisi önbelleğine eklenecek.

Özel durumlar

uriPrefix, null değeridir.

-veya-

authType, null değeridir.

Aynı kimlik bilgileri birden çok kez eklenir.

Örnekler

Aşağıdaki kod örneği, birden çok güvenlik kimlik bilgisi ile bir CredentialCache başlatır ve bu kimlik bilgilerini ile WebRequestkullanır.

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

Açıklamalar

yöntemi, Add SMTP dışındaki protokollerle kullanılacak bir NetworkCredential örneği içine CredentialCacheyerleştirir. Önbellek, kimlik bilgilerini bu kimlik bilgilerine eklendikleri sırayla depolar. GetCredential(Uri, String) yöntemi çağrıldığında, uygun eşleşen NetworkCredential örneği döndürür.

Şunlara uygulanır

Add(String, Int32, String, NetworkCredential)

Kaynak:
CredentialCache.cs
Kaynak:
CredentialCache.cs
Kaynak:
CredentialCache.cs

Kimlik bilgisi önbelleğine SMTP ile kullanılacak bir NetworkCredential örnek ekler ve bunu bir konak bilgisayar, bağlantı noktası ve kimlik doğrulama protokolüyle ilişkilendirir. Bu yöntem kullanılarak eklenen kimlik bilgileri yalnızca SMTP için geçerlidir. Bu yöntem HTTP veya FTP istekleri için çalışmaz.

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)

Parametreler

host
String

String Ana bilgisayarı tanımlayan bir.

port
Int32

Int32 üzerinde hostbağlanacak bağlantı noktasını belirten bir.

authenticationType
String

String kullanarak credöğesine bağlanırken host kullanılan kimlik doğrulama düzenini tanımlayan bir .

credential
NetworkCredential

NetworkCredential kimlik bilgisi önbelleğine eklenecek.

Özel durumlar

host, null değeridir.

-veya-

authType, null değeridir.

authType kabul edilen bir değer değildir.

port, sıfırdan küçüktür.

Örnekler

Aşağıdaki kod örneği SMTP ile kullanmak üzere birden çok güvenlik kimlik bilgileriyle bir CredentialCache başlatır ve bu kimlik bilgilerinden birini ile SmtpClientkullanır.

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

Açıklamalar

Bu yöntem SMTP ile kullanılacak bir NetworkCredential örneği içine CredentialCacheyerleştirir. Önbellek, kimlik bilgilerini bu kimlik bilgilerine eklendikleri sırayla depolar. GetCredential(String, Int32, String) yöntemi çağrıldığında, , portve authTypeile eşleştirilerek hostseçilen bir NetworkCredential örneği döndürür. Karşılaştırma büyük/küçük harfe duyarsız olarak yapılır.

için authType desteklenen değerler "NTLM", "Digest", "Kerberos" ve "Negotiate" değerleridir.

Bu yöntemle eklenen kimlik bilgileri yalnızca SMTP ile kullanım için geçerlidir. Bu yöntem HTTP veya FTP protokolleri için çalışmaz.

Şunlara uygulanır