HttpWebRequest.Credentials Eigenschap
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.
Hiermee worden verificatiegegevens voor de aanvraag opgehaald of ingesteld.
public:
virtual property System::Net::ICredentials ^ Credentials { System::Net::ICredentials ^ get(); void set(System::Net::ICredentials ^ value); };
public override System.Net.ICredentials Credentials { get; set; }
member this.Credentials : System.Net.ICredentials with get, set
Public Overrides Property Credentials As ICredentials
Waarde van eigenschap
Een ICredentials met de verificatiereferenties die aan de aanvraag zijn gekoppeld. De standaardwaarde is null.
Voorbeelden
In het volgende codevoorbeeld worden de referenties voor een aanvraag ingesteld.
using System;
using System.Net;
using System.Text;
using System.IO;
public class Test
{
// Specify the URL to receive the request.
public static void Main (string[] args)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(args[0]);
// Set some reasonable limits on resources used by this request
request.MaximumAutomaticRedirections = 4;
request.MaximumResponseHeadersLength = 4;
// Set credentials to use for this request.
request.Credentials = CredentialCache.DefaultCredentials;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Console.WriteLine("Content length is {0}", response.ContentLength);
Console.WriteLine("Content type is {0}", response.ContentType);
// Get the stream associated with the response.
Stream receiveStream = response.GetResponseStream();
// Pipes the stream to a higher level stream reader with the required encoding format.
StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8);
Console.WriteLine("Response stream received.");
Console.WriteLine(readStream.ReadToEnd());
response.Close();
readStream.Close();
}
}
/*
The output from this example will vary depending on the value passed into Main
but will be similar to the following:
Content length is 1542
Content type is text/html; charset=utf-8
Response stream received.
<html>
...
</html>
*/
Imports System.Net
Imports System.Text
Imports System.IO
Public Class Test
' Specify the URL to receive the request.
Public Shared Sub Main(ByVal args() As String)
Dim request As HttpWebRequest = CType(WebRequest.Create(args(0)), HttpWebRequest)
' Set some reasonable limits on resources used by this request
request.MaximumAutomaticRedirections = 4
request.MaximumResponseHeadersLength = 4
' Set credentials to use for this request.
request.Credentials = CredentialCache.DefaultCredentials
Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)
Console.WriteLine("Content length is {0}", response.ContentLength)
Console.WriteLine("Content type is {0}", response.ContentType)
' Get the stream associated with the response.
Dim receiveStream As Stream = response.GetResponseStream()
' Pipes the stream to a higher level stream reader with the required encoding format.
Dim readStream As New StreamReader(receiveStream, Encoding.UTF8)
Console.WriteLine("Response stream received.")
Console.WriteLine(readStream.ReadToEnd())
response.Close()
readStream.Close()
End Sub
End Class
'
'The output from this example will vary depending on the value passed into Main
'but will be similar to the following:
'
'Content length is 1542
'Content type is text/html; charset=utf-8
'Response stream received.
'...
'
'
Opmerkingen
Caution
WebRequest, HttpWebRequest, ServicePointen WebClient zijn verouderd en u moet ze niet gebruiken voor nieuwe ontwikkeling. Gebruik in plaats daarvan HttpClient.
De Credentials eigenschap bevat verificatiegegevens om de maker van de aanvraag te identificeren. De Credentials eigenschap kan een NetworkCredential, in welk geval de gebruiker, het wachtwoord en de domeingegevens in het NetworkCredential object worden gebruikt om de aanvraag te verifiëren, of het kan een CredentialCache, in welk geval de URI (Uniform Resource Identifier) van de aanvraag wordt gebruikt om de gebruiker, het wachtwoord en de domeingegevens te bepalen die moeten worden gebruikt om de aanvraag te verifiëren.
In de meeste clientscenario's moet u de DefaultCredentials eigenschap gebruiken, die de referenties bevat van de momenteel aangemelde gebruiker. Hiervoor stelt u de UseDefaultCredentials eigenschap true in op in plaats van deze eigenschap in te stellen.
Als de klasse HttpWebRequest wordt gebruikt in een toepassing in de middelste laag, zoals een ASP.NET toepassing, behoren de referenties in de eigenschap DefaultCredentials tot het account waarop de ASP-pagina wordt uitgevoerd (de referenties aan de serverzijde). Normaal gesproken stelt u deze eigenschap in op de referenties van de client namens wie de aanvraag wordt ingediend.
Note
Het NTLM-verificatieschema kan niet worden gebruikt om een andere gebruiker te imiteren. Kerberos moet speciaal zijn geconfigureerd ter ondersteuning van imitatie.
Als u HttpWebRequest wilt beperken tot een of meer verificatiemethoden, gebruikt u de CredentialCache klasse en verbindt u uw referenties aan een of meer verificatieschema's
Ondersteunde verificatieschema's zijn Digest, Negotiate, Kerberos, NTLM en Basic.
Als u om veiligheidsredenen automatisch omleidingen volgt, slaat u de referenties op die u wilt opnemen in de omleiding in een CredentialCache en wijst u deze toe aan deze eigenschap. Deze eigenschap wordt automatisch ingesteld null bij omleiding als deze iets bevat behalve een CredentialCache. Als deze eigenschapswaarde automatisch wordt ingesteld null op onder deze voorwaarden, voorkomt u dat referenties naar een onbedoelde bestemming worden verzonden.