CredentialCache.GetCredential Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Retourneert een NetworkCredential exemplaar dat is gekoppeld aan een opgegeven URI (Uniform Resource Identifier) of host en verificatietype.
Overloads
| Name | Description |
|---|---|
| GetCredential(Uri, String) |
Retourneert het NetworkCredential exemplaar dat is gekoppeld aan de opgegeven URI (Uniform Resource Identifier) en het verificatietype. |
| GetCredential(String, Int32, String) |
Retourneert het NetworkCredential exemplaar dat is gekoppeld aan de opgegeven host, poort en verificatieprotocol. |
GetCredential(Uri, String)
Retourneert het NetworkCredential exemplaar dat is gekoppeld aan de opgegeven URI (Uniform Resource Identifier) en het verificatietype.
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
Parameters
- uriPrefix
- Uri
Een Uri die het URI-voorvoegsel aangeeft van de resources waartoe de referentie toegang verleent.
- authType
- String
Het verificatieschema dat wordt gebruikt door de resource met de naam in uriPrefix.
Retouren
A NetworkCredential of, als er geen overeenkomende referentie in de cache is, null.
Implementeringen
Uitzonderingen
uriPrefix of authType is null.
Voorbeelden
In het volgende codevoorbeeld wordt de GetCredential(Uri, String) methode gebruikt om het NetworkCredential exemplaar te retourneren dat is gekoppeld aan de opgegeven URI en het verificatietype.
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
Opmerkingen
De GetCredential(Uri, String) methode doorzoekt de CredentialCache en retourneert het NetworkCredential exemplaar voor de opgegeven URI en het autorisatietype. Als het CredentialCache geen overeenkomende NetworkCredential instantie bevat, null wordt deze geretourneerd.
GetCredential gebruikt het langste overeenkomende URI-voorvoegsel in de cache om te bepalen welke set referenties moet worden geretourneerd voor een autorisatietype. In de volgende tabel ziet u voorbeelden.
| URI-voorvoegsel | Overeenkomsten |
|---|---|
http://www.contoso.com/portal/news.htm |
Aanvragen voor de specifieke webpagina news.htm. |
http://www.contoso.com/portal/ |
Aanvragen voor alle inhoud in het portal pad, met uitzondering van de pagina news.htm. |
http://www.contoso.com/ |
Aanvragen voor alle resources op www.contoso.com, met uitzondering van de resources in het portal pad. |
Van toepassing op
GetCredential(String, Int32, String)
Retourneert het NetworkCredential exemplaar dat is gekoppeld aan de opgegeven host, poort en verificatieprotocol.
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
Parameters
- authenticationType
- String
Een String die het verificatieschema identificeert dat wordt gebruikt bij het maken van verbinding met host.
Retouren
A NetworkCredential of, als er geen overeenkomende referentie in de cache is, null.
Implementeringen
Uitzonderingen
authenticationType geen geaccepteerde waarde.
– of –
host is gelijk aan de lege tekenreeks ("").
port is kleiner dan nul.
Opmerkingen
Deze methode doorzoekt het CredentialCache en retourneert het NetworkCredential exemplaar voor de opgegeven host, poort en autorisatietype. De hostwaarden portdie authenticationType aan deze methode worden doorgegeven, worden niet hoofdlettergevoelig vergeleken met de waarden die zijn opgegeven toen de referentie aan de CredentialCacheAdd methode werd toegevoegd.
De ondersteunde waarden zijn authenticationType 'NTLM', 'Digest', 'Kerberos' en 'Negotiate'.