WindowsServiceCredential.AllowAnonymousLogons 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 un valore che indica se consentire l'accesso anonimo agli utenti (si applica solo alla sicurezza a livello di messaggio).
public:
property bool AllowAnonymousLogons { bool get(); void set(bool value); };
public bool AllowAnonymousLogons { get; set; }
member this.AllowAnonymousLogons : bool with get, set
Public Property AllowAnonymousLogons As Boolean
Valore della proprietà
true
se agli utenti è consentito l'accesso anonimo, in caso contrario false
. Il valore predefinito è false
.
Esempio
Nel codice seguente viene illustrato come ottenere questa proprietà.
// Create a service host.
Uri httpUri = new Uri("http://localhost/Calculator");
ServiceHost sh = new ServiceHost(typeof(Calculator), httpUri);
// Create a binding that uses a WindowsServiceCredential.
WSHttpBinding b = new WSHttpBinding(SecurityMode.Message);
b.Security.Message.ClientCredentialType = MessageCredentialType.Windows;
// Add an endpoint.
sh.AddServiceEndpoint(typeof(ICalculator), b, "WindowsCalculator");
// Get a reference to the WindowsServiceCredential object.
WindowsServiceCredential winCredential =
sh.Credentials.WindowsAuthentication;
// Print out values.
Console.WriteLine("IncludeWindowsGroup: {0}",
winCredential.IncludeWindowsGroups);
Console.WriteLine("UserNamePasswordValidationMode: {0}",
winCredential.AllowAnonymousLogons);
Console.ReadLine();
' Create a service host.
Dim httpUri As New Uri("http://localhost/Calculator")
Dim sh As New ServiceHost(GetType(Calculator), httpUri)
' Create a binding that uses a WindowsServiceCredential.
Dim b As New WSHttpBinding(SecurityMode.Message)
b.Security.Message.ClientCredentialType = MessageCredentialType.Windows
' Add an endpoint.
sh.AddServiceEndpoint(GetType(ICalculator), b, "WindowsCalculator")
' Get a reference to the WindowsServiceCredential object.
Dim winCredential As WindowsServiceCredential = sh.Credentials.WindowsAuthentication
' Print out values.
Console.WriteLine("IncludeWindowsGroup: {0}", winCredential.IncludeWindowsGroups)
Console.WriteLine("UserNamePasswordValidationMode: {0}", winCredential.AllowAnonymousLogons)
Console.ReadLine()
Commenti
Quando si utilizzano credenziali client di Windows in un'associazione, il sistema non consente l'accesso anonimo per impostazione predefinita. Vale a dire che solo gli utenti autenticati del dominio o del gruppo di lavoro sono autorizzati ad accedere al sistema. In alcuni casi l'accesso al servizio da parte di utenti anonimi non autenticati è tuttavia accettabile. In tal caso è possibile impostare questa proprietà su true
per consentire a client anonimi di chiamare il servizio. Un servizio che consente l'autenticazione anonima indebolisce significativamente i requisiti di sicurezza, pertanto questa impostazione deve essere utilizzata con attenzione.
Si noti che questa proprietà non si applica agli scenari di sicurezza del trasporto ma è valida solo quando la sicurezza dei messaggi viene utilizzata dall'associazione sottostante. Se viene utilizzata la sicurezza del trasporto di Windows, questa proprietà non si applica.