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 = 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 。
例外
authenticationType 受け入れられた値ではありません。
port が 0 未満です。
例
次のコード例では、SMTP で使用するために複数のセキュリティ資格情報を使用して CredentialCache を初期化し、それらの資格情報のいずれかを SmtpClientで使用します。
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
注釈
このメソッドは、SMTP で使用する NetworkCredential インスタンスを CredentialCacheに配置します。 キャッシュには、資格情報が追加された順序で格納されます。
GetCredential(String, Int32, String) メソッドが呼び出されると、host、port、およびauthenticationTypeを照合することによって選択されたNetworkCredential インスタンスが返されます。 比較は大文字と小文字を区別せずに行われます。
authenticationTypeでサポートされている値は、"NTLM"、"Digest"、"Kerberos"、および "Negotiate" です。
この方法で追加された資格情報は、SMTP でのみ有効です。 このメソッドは、HTTP または FTP プロトコルでは機能しません。