A System.Net.ICredentials object containing the authentication credentials associated with the current instance. The default is null.
The HttpWebRequest.Credentials property contains authentication information to identify the maker of the request. The HttpWebRequest.Credentials property can be either a System.Net.NetworkCredential, in which case the user, password, and domain information contained in the System.Net.NetworkCredential object is used to authenticate the request, or it can be a System.Net.CredentialCache, in which case the Uniform Resource Identifier (URI) of the request is used to determine the user, password, and domain information to use to authenticate the request.
In most client scenarios, you should use the CredentialCache.DefaultCredentials property, which contains the credentials of the currently logged on user. To do this, set the WebClient.UseDefaultCredentials property to true instead of setting this property.
If the System.Net.HttpWebRequest class is being used in a middle-tier application, such as an ASP.NET application, the credentials in the CredentialCache.DefaultCredentials property belong to the account running the ASP page (the server-side credentials). Typically, you would set this property to the credentials of the client on whose behalf the request is made.
The NTLM authentication scheme cannot be used to impersonate another user. Kerberos must be specially configured to support impersonation.
To restrict HttpWebRequest to one or more authentication methods, use the System.Net.CredentialCache class and bind your credentials to one or more authentication schemes
Supported authentication schemes include Digest, Negotiate, Kerberos, NTLM, and Basic.