HttpListener.AuthenticationSchemes Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient ou définit le schéma utilisé pour authentifier les clients.
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
Valeur de propriété
Combinaison d'opérations de bits de valeurs d'énumération AuthenticationSchemes qui indiquent la manière dont les clients doivent être authentifiés. La valeur par défaut est Anonymous.
Exceptions
L’objet a été fermé.
Exemples
L’exemple de code suivant illustre l’utilisation de la AuthenticationSchemes propriété pour spécifier un schéma d’authentification.
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
Remarques
utilise HttpListener le schéma spécifié pour authentifier toutes les demandes entrantes. Les GetContext méthodes et EndGetContext retournent une requête cliente entrante uniquement si le HttpListener authentifie correctement la demande.
Vous pouvez interroger l’identité d’un client authentifié à l’aide de la HttpListenerContext.User propriété .
Si vous souhaitez qu’un HttpListener objet utilise différents mécanismes d’authentification en fonction des caractéristiques des demandes qu’il Url reçoit (par exemple, la requête ou UserHostName la propriété), vous devez implémenter une méthode qui choisit le schéma d’authentification. Pour obtenir des instructions sur la procédure à suivre, consultez la documentation relative aux AuthenticationSchemeSelectorDelegate propriétés.
Notes
Pour définir cette propriété afin d’activer Digest, NTLM ou Negotiate, vous devez .SecurityPermissionControlPrincipal