CredentialCache.Add Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
- authType
- String
Skema autentikasi yang digunakan oleh sumber daya bernama di uriPrefix
.
- cred
- NetworkCredential
NetworkCredential untuk menambahkan ke cache kredensial.
Pengecualian
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
- authenticationType
- String
String Yang mengidentifikasi skema autentikasi yang digunakan saat menyambungkan ke host
menggunakan cred
.
- credential
- NetworkCredential
NetworkCredential untuk menambahkan ke cache kredensial.
Pengecualian
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.