CredentialCache.GetCredential メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した URI (URI) またはホスト、および認証の種類に関連付けられている NetworkCredential インスタンスを返します。
オーバーロード
| 名前 | 説明 |
|---|---|
| GetCredential(Uri, String) |
指定した URI (Uniform Resource Identifier) と認証の種類に関連付けられている NetworkCredential インスタンスを返します。 |
| GetCredential(String, Int32, String) |
指定したホスト、ポート、および認証プロトコルに関連付けられている NetworkCredential インスタンスを返します。 |
GetCredential(Uri, String)
指定した URI (Uniform Resource Identifier) と認証の種類に関連付けられている NetworkCredential インスタンスを返します。
public:
virtual System::Net::NetworkCredential ^ GetCredential(Uri ^ uriPrefix, System::String ^ authType);
public System.Net.NetworkCredential GetCredential(Uri uriPrefix, string authType);
abstract member GetCredential : Uri * string -> System.Net.NetworkCredential
override this.GetCredential : Uri * string -> System.Net.NetworkCredential
Public Function GetCredential (uriPrefix As Uri, authType As String) As NetworkCredential
パラメーター
- authType
- String
uriPrefixで指定されたリソースによって使用される認証スキーム。
返品
NetworkCredential、またはキャッシュに一致する資格情報がない場合は、null。
実装
例外
uriPrefix または authType が null。
例
次のコード例では、 GetCredential(Uri, String) メソッドを使用して、指定した URI と認証の種類に関連付けられている NetworkCredential インスタンスを返します。
public static void GetPage(string url,string userName,string password,string domainName)
{
try
{
CredentialCache myCredentialCache = new CredentialCache();
// Dummy names used as credentials.
myCredentialCache.Add(new Uri("http://microsoft.com/"),"Basic", new NetworkCredential("user1","passwd1","domain1"));
myCredentialCache.Add(new Uri("http://msdn.com/"),"Basic", new NetworkCredential("user2","passwd2","domain2"));
myCredentialCache.Add(new Uri(url),"Basic", new NetworkCredential(userName,password,domainName));
// Create a webrequest with the specified url.
WebRequest myWebRequest = WebRequest.Create(url);
// Call 'GetCredential' to obtain the credentials specific to our Uri.
NetworkCredential myCredential = myCredentialCache.GetCredential(new Uri(url),"Basic");
Display(myCredential);
// Associating only our credentials.
myWebRequest.Credentials = myCredential;
// Sends the request and waits for response.
WebResponse myWebResponse = myWebRequest.GetResponse();
// Process response here.
Console.WriteLine("\nResponse Received.");
myWebResponse.Close();
}
catch(WebException e)
{
if (e.Response != null)
Console.WriteLine("\r\nFailed to obtain a response. The following error occurred : {0}",((HttpWebResponse)(e.Response)).StatusDescription);
else
Console.WriteLine("\r\nFailed to obtain a response. The following error occurred : {0}",e.Status);
}
catch(Exception e)
{
Console.WriteLine("\nThe following exception was raised : {0}",e.Message);
}
}
public static void Display(NetworkCredential credential)
{
Console.WriteLine("\nThe credentials are:");
Console.WriteLine("\nUsername : {0} ,Password : {1} ,Domain : {2}",credential.UserName,credential.Password,credential.Domain);
}
Public Shared Sub GetPage(url As String, userName As String, password As String, domainName As String)
Try
Dim myCredentialCache As New CredentialCache()
' Dummy names used as credentials
myCredentialCache.Add(New Uri("http://microsoft.com/"), "Basic", New NetworkCredential("user1", "passwd1", "domain1"))
myCredentialCache.Add(New Uri("http://msdn.com/"), "Basic", New NetworkCredential("user2", "passwd2", "domain2"))
myCredentialCache.Add(New Uri(url), "Basic", New NetworkCredential(userName, password, domainName))
' Creates a webrequest with the specified url.
Dim myWebRequest As WebRequest = WebRequest.Create(url)
' Call 'GetCredential' to obtain the credentials specific to our Uri.
Dim myCredential As NetworkCredential = myCredentialCache.GetCredential(New Uri(url), "Basic")
Display(myCredential)
myWebRequest.Credentials = myCredential 'Associating only our credentials
' Sends the request and waits for response.
Dim myWebResponse As WebResponse = myWebRequest.GetResponse()
' Process response here.
Console.WriteLine(ControlChars.Cr + "Response Received.")
myWebResponse.Close()
Catch e As WebException
If Not (e.Response Is Nothing) Then
Console.WriteLine(ControlChars.Lf + ControlChars.Cr + "Failed to obtain a response. The following error occurred : {0}", CType(e.Response, HttpWebResponse).StatusDescription)
Else
Console.WriteLine(ControlChars.Lf + ControlChars.Cr + "Failed to obtain a response. The following error occurred : {0}", e.Status)
End If
Catch e As Exception
Console.WriteLine(ControlChars.Cr + "The following exception was raised : {0}", e.Message)
End Try
End Sub
Public Shared Sub Display(ByVal credential As NetworkCredential)
Console.WriteLine("The credentials are: ")
Console.WriteLine(ControlChars.Cr + "Username : {0} ,Password : {1} ,Domain : {2}", credential.UserName, credential.Password, credential.Domain)
End Sub
注釈
GetCredential(Uri, String) メソッドは、CredentialCacheを検索し、指定された URI と承認の種類のNetworkCredential インスタンスを返します。
CredentialCacheに一致するNetworkCredentialインスタンスが含まれている場合は、nullが返されます。
GetCredential では、キャッシュ内で最も長く一致する URI プレフィックスを使用して、承認の種類に対して返す資格情報のセットを決定します。 次の表に例を示します。
| URI プレフィックス | 一致 |
|---|---|
http://www.contoso.com/portal/news.htm |
特定の Web ページ news.htmに対する要求。 |
http://www.contoso.com/portal/ |
ページ news.htmを除く、portal パス内のすべてのコンテンツに対する要求。 |
http://www.contoso.com/ |
portal パス内のものを除く、www.contoso.comのすべてのリソースに対する要求。 |
適用対象
GetCredential(String, Int32, String)
指定したホスト、ポート、および認証プロトコルに関連付けられている NetworkCredential インスタンスを返します。
public:
virtual System::Net::NetworkCredential ^ GetCredential(System::String ^ host, int port, System::String ^ authenticationType);
public System.Net.NetworkCredential GetCredential(string host, int port, string authenticationType);
abstract member GetCredential : string * int * string -> System.Net.NetworkCredential
override this.GetCredential : string * int * string -> System.Net.NetworkCredential
Public Function GetCredential (host As String, port As Integer, authenticationType As String) As NetworkCredential
パラメーター
返品
NetworkCredential、またはキャッシュに一致する資格情報がない場合は、null。
実装
例外
port が 0 未満です。
注釈
このメソッドは、 CredentialCache を検索し、指定したホスト、ポート、および承認の種類の NetworkCredential インスタンスを返します。 このメソッドに渡されるhost、port、およびauthenticationTypeの値は、Addメソッドを使用して資格情報がCredentialCacheに追加されたときに指定された値と大文字と小文字が区別されません。
authenticationTypeでサポートされている値は、"NTLM"、"Digest"、"Kerberos"、および "Negotiate" です。