CredentialCache.Add メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
NetworkCredential インスタンスを資格情報キャッシュに追加します。
オーバーロード
Add(Uri, String, NetworkCredential) |
NetworkCredential インスタンスを SMTP 以外のプロトコルで使用する資格情報キャッシュに追加し、URI (Uniform Resource Identifier) プリフィックスおよび認証プロトコルに関連付けます。 |
Add(String, Int32, String, NetworkCredential) |
SMTP で使用する NetworkCredential インスタンスを資格情報キャッシュに追加し、ホスト コンピューター、ポート、および認証プロトコルに関連付けます。 このメソッドを使用して追加される資格情報は、SMTP でのみ有効です。 このメソッドは、HTTP 要求および FTP 要求では動作しません。 |
Add(Uri, String, NetworkCredential)
NetworkCredential インスタンスを SMTP 以外のプロトコルで使用する資格情報キャッシュに追加し、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。
例外
同じ資格情報が 2 回以上追加されました。
例
次のコード例では、複数のセキュリティ資格情報を使用して を 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 以外の NetworkCredential プロトコルで使用するインスタンスを に配置します CredentialCache。 キャッシュには、資格情報が追加された順序で格納されます。 メソッドが 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)呼び出されると、および authType
と一致して選択されたインスタンスがhost
port
返NetworkCredentialされます。 比較は大文字と小文字を区別せずに行われます。
でサポートされている値 authType
は、"NTLM"、"Digest"、"Kerberos"、"Negotiate" です。
この方法で追加された資格情報は、SMTP でのみ使用できます。 このメソッドは、HTTP プロトコルまたは FTP プロトコルでは機能しません。
適用対象
.NET