Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo CredentialCache.GetCredential (Uri, String)

 

Data di pubblicazione: novembre 2016

Restituisce il NetworkCredential istanza associata al tipo di autenticazione e Uniform Resource Identifier (URI) specificato.

Spazio dei nomi:   System.Net
Assembly:  System (in System.dll)

public NetworkCredential GetCredential(
	Uri uriPrefix,
	string authType
)

Parametri

uriPrefix
Type: System.Uri

Oggetto Uri che specifica il prefisso URI delle risorse che la credenziale concede l'accesso.

authType
Type: System.String

Schema di autenticazione utilizzato dalla risorsa specificata uriPrefix.

Valore restituito

Type: System.Net.NetworkCredential

Oggetto NetworkCredential oppure, se non sono disponibili credenziali corrispondenti nella cache, null.

Exception Condition
ArgumentNullException

uriPrefix o authType è null.

Il GetCredential(Uri, String) metodo cerca il CredentialCache e restituisce il NetworkCredential istanza per il tipo di autorizzazione e l'URI specificato. Se il CredentialCache non contiene nessuna corrispondenza NetworkCredential istanza null viene restituito.

GetCredential utilizza il prefisso URI corrispondente più lungo nella cache per determinare il set di credenziali da restituire per un tipo di autorizzazione. Nella tabella seguente vengono illustrati esempi.

Prefisso URI

Corrispondenze

http://www.contoso.com/portal/news.htm

Le richieste per la pagina Web specifica news.htm.

http://www.contoso.com/portal/

Le richieste per tutto il contenuto di portal percorso, ad eccezione della pagina news.htm.

http://www.contoso.com/

Richieste per tutte le risorse in www.contoso.com, ad eccezione di quelli di portal percorso.

Nell'esempio di codice viene illustrato come utilizzare il GetCredential(Uri, String) per restituire il NetworkCredential istanza associata al tipo di autenticazione e all'URI specificato.

  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 occured : {0}",((HttpWebResponse)(e.Response)).StatusDescription); 
          else
              Console.WriteLine("\r\nFailed to obtain a response. The following error occured : {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);
}

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 1.1
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Windows Phone Silverlight
Disponibile da 8.1
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: