CredentialCache.Add Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Добавляет экземпляр NetworkCredential в кэш учетных данных.
Перегрузки
Add(Uri, String, NetworkCredential) |
Добавляет экземпляр NetworkCredential в кэш учетных данных для использования с протоколами, отличными от SMTP, и связывает его с префиксом URI и протоколом проверки подлинности. |
Add(String, Int32, String, NetworkCredential) |
Добавляет экземпляр NetworkCredential для использования вместе с SMTP в кэш учетных данных и связывает этот экземпляр с узлом, портом и протоколом проверки подлинности. Учетные данные, добавленные с помощью этого метода, допустимы только для SMTP. Этот метод не работает с запросами HTTP или FTP. |
Add(Uri, String, NetworkCredential)
- Исходный код:
- CredentialCache.cs
- Исходный код:
- CredentialCache.cs
- Исходный код:
- CredentialCache.cs
Добавляет экземпляр NetworkCredential в кэш учетных данных для использования с протоколами, отличными от SMTP, и связывает его с префиксом URI и протоколом проверки подлинности.
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)
Параметры
- uriPrefix
- Uri
Параметр Uri, определяющий префикс URI ресурсов, к которым предоставляется доступ посредством учетных данных.
- authType
- String
Схема проверки подлинности, которая используется ресурсом, названным в uriPrefix
.
- cred
- NetworkCredential
Экземпляр NetworkCredential, добавляемый в кэш учетных данных.
Исключения
Те же учетные данные добавляются несколько раз.
Примеры
Следующий пример кода инициализирует CredentialCache с несколькими учетными данными безопасности и использует эти учетные данные с 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
Комментарии
Метод Add помещает NetworkCredential экземпляр для использования с протоколами, отличными от SMTP, в CredentialCache. В кэше хранятся учетные данные в том порядке, в котором они добавляются в него. При вызове GetCredential(Uri, String) метода возвращается соответствующий NetworkCredential экземпляр.
Применяется к
Add(String, Int32, String, NetworkCredential)
- Исходный код:
- CredentialCache.cs
- Исходный код:
- CredentialCache.cs
- Исходный код:
- CredentialCache.cs
Добавляет экземпляр NetworkCredential для использования вместе с SMTP в кэш учетных данных и связывает этот экземпляр с узлом, портом и протоколом проверки подлинности. Учетные данные, добавленные с помощью этого метода, допустимы только для SMTP. Этот метод не работает с запросами HTTP или 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)
Параметры
- authenticationType
- String
Строка String, указывающая схему проверку подлинности, используемую при подключении к host
с использованием cred
.
- credential
- NetworkCredential
Экземпляр NetworkCredential, добавляемый в кэш учетных данных.
Исключения
authType
не является приемлемым значением.
Значение параметра port
меньше нуля.
Примеры
В следующем примере кода инициализируется CredentialCache с несколькими учетными данными безопасности для использования с SMTP и используется один из этих учетных данных с 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
Комментарии
Этот метод помещает NetworkCredential экземпляр для использования с SMTP в CredentialCache. В кэше хранятся учетные данные в том порядке, в котором они добавляются в него. При вызове GetCredential(String, Int32, String) метода возвращается экземпляр, выбранный NetworkCredential путем сопоставления host
, port
и authType
. Сравнение выполняется без учета регистра.
Поддерживаемые значения для authType
: "NTLM", "Digest", "Kerberos" и "Negotiate".
Учетные данные, добавленные с помощью этого метода, допустимы только для использования с SMTP. Этот метод не работает для протоколов HTTP или FTP.