CredentialCache.GetCredential Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
NetworkCredential Vrátí instanci přidruženou k zadanému identifikátoru URI (Uniform Resource Identifier) nebo hostiteli a typu ověřování.
Přetížení
| Name | Description |
|---|---|
| GetCredential(Uri, String) |
NetworkCredential Vrátí instanci přidruženou k zadanému identifikátoru URI (Uniform Resource Identifier) a typu ověřování. |
| GetCredential(String, Int32, String) |
NetworkCredential Vrátí instanci přidruženou k zadanému hostiteli, portu a ověřovacímu protokolu. |
GetCredential(Uri, String)
- Zdroj:
- CredentialCache.cs
- Zdroj:
- CredentialCache.cs
- Zdroj:
- CredentialCache.cs
- Zdroj:
- CredentialCache.cs
- Zdroj:
- CredentialCache.cs
NetworkCredential Vrátí instanci přidruženou k zadanému identifikátoru URI (Uniform Resource Identifier) a typu ověřování.
public:
virtual System::Net::NetworkCredential ^ GetCredential(Uri ^ uriPrefix, System::String ^ authType);
public System.Net.NetworkCredential GetCredential(Uri uriPrefix, 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
Parametry
- uriPrefix
- Uri
Určuje Uri předponu identifikátoru URI prostředků, ke kterým přihlašovací údaje uděluje přístup.
- authType
- String
Schéma ověřování používané prostředkem pojmenovaným v uriPrefix.
Návraty
A NetworkCredential nebo, pokud v mezipaměti nejsou žádné odpovídající přihlašovací údaje, null.
Implementuje
Výjimky
uriPrefix nebo authType je null.
Příklady
Následující příklad kódu používá metodu GetCredential(Uri, String) k vrácení NetworkCredential instance asociované se zadaným identifikátorem URI a typem ověřování.
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
Poznámky
Metoda GetCredential(Uri, String) vyhledá CredentialCache a vrátí NetworkCredential instanci pro zadaný identifikátor URI a typ autorizace. Pokud neobsahuje CredentialCache žádnou odpovídající NetworkCredential instanci, null vrátí se.
GetCredential používá nejdelší odpovídající předponu identifikátoru URI v mezipaměti k určení, která sada přihlašovacích údajů se má vrátit pro typ autorizace. Následující tabulka uvádí příklady.
| Předpona identifikátoru URI | Shody |
|---|---|
http://www.contoso.com/portal/news.htm |
Požadavky na konkrétní webovou stránku news.htm. |
http://www.contoso.com/portal/ |
Žádosti o veškerý obsah v cestě portal s výjimkou stránky news.htm. |
http://www.contoso.com/ |
Požadavky na všechny prostředky na www.contoso.com, s výjimkou těch v cestě portal . |
Platí pro
GetCredential(String, Int32, String)
- Zdroj:
- CredentialCache.cs
- Zdroj:
- CredentialCache.cs
- Zdroj:
- CredentialCache.cs
- Zdroj:
- CredentialCache.cs
- Zdroj:
- CredentialCache.cs
NetworkCredential Vrátí instanci přidruženou k zadanému hostiteli, portu a ověřovacímu protokolu.
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);
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
Parametry
- authenticationType
- String
A String , který identifikuje schéma ověřování použité při připojování k host.
Návraty
A NetworkCredential nebo, pokud v mezipaměti nejsou žádné odpovídající přihlašovací údaje, null.
Implementuje
Výjimky
authenticationType nepřijmutou hodnotu.
nebo
host se rovná prázdnému řetězci ("").
Hodnota port je menší než nula.
Poznámky
Tato metoda vyhledá CredentialCache a vrátí NetworkCredential instanci zadaného hostitele, portu a typu autorizace. Hodnoty hosta port hodnoty authenticationTypepředané této metodě nerozlišují malá a velká písmena ve srovnání s hodnotami zadanými při přidání přihlašovacích údajů do CredentialCache metody.Add
Podporované hodnoty authenticationType jsou NTLM, Digest, Kerberos a Negotiate.