CredentialCache.GetCredential Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Devuelve una instancia de NetworkCredential asociada a un identificador URI u host y un tipo de autenticación especificados.
Sobrecargas
GetCredential(Uri, String) |
Devuelve la instancia de NetworkCredential asociada al identificador URI y el tipo de autenticación especificados. |
GetCredential(String, Int32, String) |
Devuelve la instancia de NetworkCredential asociada al host, puerto y protocolo de autenticación especificados. |
GetCredential(Uri, String)
- Source:
- CredentialCache.cs
- Source:
- CredentialCache.cs
- Source:
- CredentialCache.cs
Devuelve la instancia de NetworkCredential asociada al identificador URI y el tipo de autenticación especificados.
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
Parámetros
- uriPrefix
- Uri
Uri que especifica el prefijo URI de los recursos a los que la credencial concede acceso.
- authType
- String
Esquema de autenticación utilizado por el recurso especificado en uriPrefix
.
Devoluciones
NetworkCredential o, si la caché no contiene ninguna credencial coincidente, null
.
Implementaciones
Excepciones
uriPrefix
o authType
es null
.
Ejemplos
En el ejemplo de código siguiente se usa el GetCredential(Uri, String) método para devolver la NetworkCredential instancia asociada al URI y al tipo de autenticación especificados.
void Display( NetworkCredential^ credential )
{
Console::WriteLine( "\nThe credentials are:" );
Console::WriteLine( "\nUsername : {0} , Password : {1} , Domain : {2}", credential->UserName, credential->Password, credential->Domain );
}
void GetPage( String^ url, String^ userName, String^ password, String^ domainName )
{
try
{
CredentialCache^ myCredentialCache = gcnew CredentialCache;
// Dummy names used as credentials.
myCredentialCache->Add( gcnew Uri( "http://microsoft.com/" ), "Basic", gcnew NetworkCredential( "user1","passwd1","domain1" ) );
myCredentialCache->Add( gcnew Uri( "http://msdn.com/" ), "Basic", gcnew NetworkCredential( "user2","passwd2","domain2" ) );
myCredentialCache->Add( gcnew Uri( url ), "Basic", gcnew 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( gcnew 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 != nullptr )
Console::WriteLine( "\r\nFailed to obtain a response. The following error occurred : {0}", (dynamic_cast<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 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
Comentarios
El GetCredential(Uri, String) método busca en CredentialCache y devuelve la NetworkCredential instancia del URI y el tipo de autorización especificados. Si no CredentialCache contiene ninguna instancia coincidente NetworkCredential , null
se devuelve .
GetCredential usa el prefijo de URI coincidente más largo de la memoria caché para determinar qué conjunto de credenciales se devolverán para un tipo de autorización. En la tabla siguiente se muestran ejemplos.
Prefijo de URI | Coincide |
---|---|
http://www.contoso.com/portal/news.htm |
Solicitudes de la página news.htm web específica. |
http://www.contoso.com/portal/ |
Solicita todo el contenido de la portal ruta de acceso, excepto la página news.htm . |
http://www.contoso.com/ |
Solicitudes de todos los recursos en www.contoso.com , excepto las de la ruta de portal acceso. |
Se aplica a
GetCredential(String, Int32, String)
- Source:
- CredentialCache.cs
- Source:
- CredentialCache.cs
- Source:
- CredentialCache.cs
Devuelve la instancia de NetworkCredential asociada al host, puerto y protocolo de autenticación especificados.
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
Parámetros
- authenticationType
- String
Un valor String que identifica el esquema de autenticación utilizado para conectarse a host
.
Devoluciones
NetworkCredential o, si la caché no contiene ninguna credencial coincidente, null
.
Implementaciones
Excepciones
port
es menor que cero.
Comentarios
Este método busca en y CredentialCache devuelve la NetworkCredential instancia del host, el puerto y el tipo de autorización especificados. Los host
valores , port
y authType
pasados a este método no distinguen mayúsculas de minúsculas en comparación con los valores especificados cuando se agregó la credencial al CredentialCache mediante los Add métodos .
Los valores admitidos para authType
son "NTLM", "Digest", "Kerberos" y "Negotiate".