HttpListener.AuthenticationSchemes Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta lo schema usato per autenticare i client.
public:
property System::Net::AuthenticationSchemes AuthenticationSchemes { System::Net::AuthenticationSchemes get(); void set(System::Net::AuthenticationSchemes value); };
public System.Net.AuthenticationSchemes AuthenticationSchemes { get; set; }
member this.AuthenticationSchemes : System.Net.AuthenticationSchemes with get, set
Public Property AuthenticationSchemes As AuthenticationSchemes
Valore della proprietà
Combinazione bit per bit dei valori dell'enumerazione AuthenticationSchemes che indica come autenticare i client. Il valore predefinito è Anonymous.
Eccezioni
L'oggetto è stato chiuso.
Esempio
Nell'esempio di codice seguente viene illustrato l'uso della AuthenticationSchemes proprietà per specificare uno schema di autenticazione.
public static void SimpleListenerWithUnsafeAuthentication(string[] prefixes)
{
// URI prefixes are required,
// for example "http://contoso.com:8080/index/".
if (prefixes == null || prefixes.Length == 0)
throw new ArgumentException("prefixes");
// Set up a listener.
HttpListener listener = new HttpListener();
foreach (string s in prefixes)
{
listener.Prefixes.Add(s);
}
listener.Start();
// Specify Negotiate as the authentication scheme.
listener.AuthenticationSchemes = AuthenticationSchemes.Negotiate;
// If NTLM is used, we will allow multiple requests on the same
// connection to use the authentication information of first request.
// This improves performance but does reduce the security of your
// application.
listener.UnsafeConnectionNtlmAuthentication = true;
// This listener does not want to receive exceptions
// that occur when sending the response to the client.
listener.IgnoreWriteExceptions = true;
Console.WriteLine("Listening...");
// ... process requests here.
listener.Close();
}
Public Shared Sub SimpleListenerWithUnsafeAuthentication(ByVal prefixes As String())
' URI prefixes are required,
' for example "http://contoso.com:8080/index/".
If prefixes Is Nothing OrElse prefixes.Length = 0 Then Throw New ArgumentException("prefixes")
' Set up a listener.
Dim listener As HttpListener = New HttpListener()
For Each s As String In prefixes
listener.Prefixes.Add(s)
Next
listener.Start()
' Specify Negotiate as the authentication scheme.
listener.AuthenticationSchemes = AuthenticationSchemes.Negotiate
' If NTLM Is used, we will allow multiple requests on the same
' connection to use the authentication information of first request.
' This improves performance but does reduce the security of your
' application.
listener.UnsafeConnectionNtlmAuthentication = True
' This listener does Not want to receive exceptions
' that occur when sending the response to the client.
listener.IgnoreWriteExceptions = True
Console.WriteLine("Listening...")
' ... process requests here.
listener.Close()
End Sub
Commenti
HttpListener utilizza lo schema specificato per autenticare tutte le richieste in ingresso. I GetContext metodi e EndGetContext restituiscono una richiesta client in ingresso solo se l'oggetto HttpListener autentica correttamente la richiesta.
È possibile interrogare l'identità di un client autenticato correttamente usando la HttpListenerContext.User proprietà .
Se si desidera che un HttpListener oggetto usi meccanismi di autenticazione diversi in base alle caratteristiche delle richieste ricevute (ad esempio, la proprietà o UserHostName della Url richiesta), è necessario implementare un metodo che sceglie lo schema di autenticazione. Per istruzioni su come eseguire questa operazione, vedere la documentazione relativa alle AuthenticationSchemeSelectorDelegate proprietà.
Nota
Per impostare questa proprietà per abilitare Digest, NTLM o Negotiate, è necessario , SecurityPermissionControlPrincipal.