HttpWebRequest.Credentials Eigenschaft

Definition

Ruft Authentifizierungsinformationen für die Anforderung ab oder legt diese fest.

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; }
public override System.Net.ICredentials? Credentials { get; set; }
member this.Credentials : System.Net.ICredentials with get, set
Public Overrides Property Credentials As ICredentials

Eigenschaftswert

ICredentials

Ein ICredentials-Element mit den der Anforderung zugeordneten Anmeldeinformationen für die Authentifizierung. Der Standardwert ist null.

Beispiele

Im folgenden Codebeispiel werden die Anmeldeinformationen für eine Anforderung festgelegt.

#using <System.dll>

using namespace System;
using namespace System::Net;
using namespace System::Text;
using namespace System::IO;

// Specify the URL to receive the request.
int main()
{
   array<String^>^args = Environment::GetCommandLineArgs();
   HttpWebRequest^ request = dynamic_cast<HttpWebRequest^>(WebRequest::Create(args[1]));

   // 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 = dynamic_cast<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 = gcnew 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>

*/
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.
'...
'
'

Hinweise

Die Credentials Eigenschaft enthält Authentifizierungsinformationen, um den Hersteller der Anforderung zu identifizieren. Die Credentials Eigenschaft kann entweder ein NetworkCredential, in diesem Fall der Benutzer, das Kennwort und die Domäneninformationen, die im NetworkCredential Objekt enthalten sind, verwendet werden, um die Anforderung zu authentifizieren, oder es kann sich um einen CredentialCache, in welchem Fall der URI der Anforderung (Uniform Resource Identifier) der Anforderung verwendet wird, um die Benutzer-, Kennwort- und Domäneninformationen zu bestimmen, die zur Authentifizierung der Anforderung verwendet werden.

In den meisten Clientszenarien sollten Sie die DefaultCredentials Eigenschaft verwenden, die die Anmeldeinformationen des aktuell angemeldeten Benutzers enthält. Legen Sie dazu die UseDefaultCredentials Eigenschaft anstelle dieser Eigenschaft fest true .

Wenn die HttpWebRequest Klasse in einer mittleren Anwendung verwendet wird, z. B. eine ASP.NET Anwendung, gehören die Anmeldeinformationen in der DefaultCredentials Eigenschaft zum Konto, das die ASP-Seite ausführt (die serverseitigen Anmeldeinformationen). In der Regel würden Sie diese Eigenschaft auf die Anmeldeinformationen des Clients festlegen, deren Auftrag die Anforderung gestellt wird.

Hinweis

Das NTLM-Authentifizierungsschema kann nicht zum Identitätswechsel eines anderen Benutzers verwendet werden. Kerberos muss speziell für die Unterstützung des Identitätswechsels konfiguriert werden.

Um httpWebRequest auf eine oder mehrere Authentifizierungsmethoden einzuschränken, verwenden Sie die CredentialCache Klasse, und binden Sie Ihre Anmeldeinformationen an ein oder mehrere Authentifizierungsschemas.

Unterstützte Authentifizierungsschemas umfassen Digest, Negotiate, Kerberos, NTLM und Basic.

Aus Sicherheitsgründen speichern Sie bei automatischen Umleitungen die Anmeldeinformationen, die Sie in die Umleitung einbeziehen CredentialCache möchten, und weisen Sie sie dieser Eigenschaft zu. Diese Eigenschaft wird automatisch auf die Umleitung festgelegt null , wenn sie etwas außer einer CredentialCache. Wenn dieser Eigenschaftswert automatisch auf diese Bedingungen festgelegt null wird, wird verhindert, dass Anmeldeinformationen an ein unbeabsichtigtes Ziel gesendet werden.

Gilt für