Bagikan melalui


CredentialCache.Add Metode

Definisi

Menambahkan instans NetworkCredential ke cache kredensial.

Overload

Add(Uri, String, NetworkCredential)

Menambahkan instans NetworkCredential ke cache kredensial untuk digunakan dengan protokol selain SMTP dan mengaitkannya dengan awalan Pengidentifikasi Sumber Daya Seragam (URI) dan protokol autentikasi.

Add(String, Int32, String, NetworkCredential)

Menambahkan instans NetworkCredential untuk digunakan dengan SMTP ke cache kredensial dan mengaitkannya dengan komputer host, port, dan protokol autentikasi. Kredensial yang ditambahkan menggunakan metode ini hanya berlaku untuk SMTP. Metode ini tidak berfungsi untuk permintaan HTTP atau FTP.

Add(Uri, String, NetworkCredential)

Sumber:
CredentialCache.cs
Sumber:
CredentialCache.cs
Sumber:
CredentialCache.cs

Menambahkan instans NetworkCredential ke cache kredensial untuk digunakan dengan protokol selain SMTP dan mengaitkannya dengan awalan Pengidentifikasi Sumber Daya Seragam (URI) dan protokol autentikasi.

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)

Parameter

uriPrefix
Uri

Uri yang menentukan awalan URI dari sumber daya yang diberikan kredensial akses.

authType
String

Skema autentikasi yang digunakan oleh sumber daya bernama di uriPrefix.

cred
NetworkCredential

NetworkCredential untuk menambahkan ke cache kredensial.

Pengecualian

uriPrefixadalah null.

-atau-

authTypeadalah null.

Kredensial yang sama ditambahkan lebih dari sekali.

Contoh

Contoh kode berikut menginisialisasi CredentialCache dengan beberapa kredensial keamanan dan menggunakan kredensial tersebut dengan 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

Keterangan

Metode menempatkan AddNetworkCredential instans untuk digunakan dengan protokol selain SMTP ke CredentialCachedalam . Cache menyimpan kredensial dalam urutan di mana mereka ditambahkan ke dalamnya. Ketika metode dipanggil GetCredential(Uri, String) , metode mengembalikan instans yang NetworkCredential cocok yang tepat.

Berlaku untuk

Add(String, Int32, String, NetworkCredential)

Sumber:
CredentialCache.cs
Sumber:
CredentialCache.cs
Sumber:
CredentialCache.cs

Menambahkan instans NetworkCredential untuk digunakan dengan SMTP ke cache kredensial dan mengaitkannya dengan komputer host, port, dan protokol autentikasi. Kredensial yang ditambahkan menggunakan metode ini hanya berlaku untuk SMTP. Metode ini tidak berfungsi untuk permintaan HTTP atau 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)

Parameter

host
String

String Yang mengidentifikasi komputer host.

port
Int32

Int32 yang menentukan port yang akan disambungkan pada host.

authenticationType
String

String Yang mengidentifikasi skema autentikasi yang digunakan saat menyambungkan ke host menggunakan cred.

credential
NetworkCredential

NetworkCredential untuk menambahkan ke cache kredensial.

Pengecualian

hostadalah null.

-atau-

authTypeadalah null.

authType bukan nilai yang diterima.

port kurang dari nol.

Contoh

Contoh kode berikut menginisialisasi CredentialCache dengan beberapa kredensial keamanan untuk digunakan dengan SMTP dan menggunakan salah satu kredensial tersebut dengan 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

Keterangan

Metode ini menempatkan NetworkCredential instans untuk digunakan dengan SMTP ke CredentialCachedalam . Cache menyimpan kredensial dalam urutan di mana mereka ditambahkan ke dalamnya. Ketika metode dipanggil GetCredential(String, Int32, String) , ia mengembalikan instans NetworkCredential yang dipilih dengan mencocokkan host, port, dan authType. Perbandingan dilakukan secara tidak peka huruf besar/kecil.

Nilai yang didukung untuk authType adalah "NTLM", "Digest", "Kerberos", dan "Negosiasi".

Kredensial yang ditambahkan dengan metode ini hanya valid untuk digunakan dengan SMTP. Metode ini tidak berfungsi untuk protokol HTTP atau FTP.

Berlaku untuk