CredentialCache.Add 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
자격 증명 캐시에 NetworkCredential을 추가합니다.
오버로드
| Add(Uri, String, NetworkCredential) |
SMTP 이외의 프로토콜과 함께 사용할 NetworkCredential 인스턴스를 자격 증명 캐시에 추가하고 이를 URI(Uniform Resource Identifier) 접두사 및 인증 프로토콜과 연결합니다. |
| Add(String, Int32, String, NetworkCredential) |
SMTP와 함께 사용할 NetworkCredential 인스턴스를 자격 증명 캐시에 추가하고 이를 호스트 컴퓨터, 포트 및 인증 프로토콜과 연결합니다. 이 메서드를 사용하여 추가한 자격 증명은 SMTP에 대해서만 유효합니다. HTTP 또는 FTP 요청에는 이 메서드가 작동하지 않습니다. |
Add(Uri, String, NetworkCredential)
SMTP 이외의 프로토콜과 함께 사용할 NetworkCredential 인스턴스를 자격 증명 캐시에 추가하고 이를 URI(Uniform Resource Identifier) 접두사 및 인증 프로토콜과 연결합니다.
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)
매개 변수
- 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 SMTP CredentialCache이외의 프로토콜에서 사용할 인스턴스를 에 배치 NetworkCredential 합니다. 캐시는 자격 증명이 추가되는 순서대로 저장됩니다. 메서드가 GetCredential(Uri, String) 호출되면 적절한 일치 NetworkCredential 인스턴스를 반환합니다.
적용 대상
Add(String, Int32, String, NetworkCredential)
SMTP와 함께 사용할 NetworkCredential 인스턴스를 자격 증명 캐시에 추가하고 이를 호스트 컴퓨터, 포트 및 인증 프로토콜과 연결합니다. 이 메서드를 사용하여 추가한 자격 증명은 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)
매개 변수
- credential
- NetworkCredential
자격 증명 캐시에 추가할 NetworkCredential입니다.
예외
authType이 허용되는 값이 아닌 경우.
port가 0보다 작은 경우
예제
다음 코드 예제에서는 SMTP와 함께 사용할 여러 보안 자격 증명을 초기화 CredentialCache 하고 해당 자격 증명 중 하나를 사용 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) 호출되면 , port및 를 일치시켜 선택한 인스턴스를 host반환 NetworkCredential 합니다authType. 비교는 대/소문자를 구분하지 않습니다.
지원되는 값 authType 은 "NTLM", "Digest", "Kerberos" 및 "Negotiate"입니다.
이 메서드와 함께 추가된 자격 증명은 SMTP에서만 사용할 수 있습니다. 이 메서드는 HTTP 또는 FTP 프로토콜에 대해 작동하지 않습니다.