CredentialCache.GetCredential Metoda

Definice

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

host
String

A String , který identifikuje hostitelský počítač.

port
Int32

A Int32 , který určuje port, ke hostkterému se má připojit .

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

host je null.

nebo

authenticationType je null.

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.

Platí pro