WindowsServiceCredential.AllowAnonymousLogons Propriedade

Definição

Recebe ou define um valor que indica se deve permitir o acesso de utilizadores anónimos (aplica-se apenas à segurança ao nível da mensagem).

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

Valor de Propriedade

true se utilizadores anónimos forem autorizados a aceder; caso contrário, false. A predefinição é false.

Exemplos

O código seguinte mostra como obter esta propriedade.

// 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()

Observações

Ao usar credenciais do cliente Windows num binding, por defeito o sistema não permite acesso anónimo. Isto significa que apenas utilizadores autenticados por domínio ou grupo de trabalho são permitidos no sistema. No entanto, em certos casos, é aceitável que utilizadores anónimos e não autenticados acedam ao serviço. Neste caso, pode definir esta propriedade para true permitir que clientes anónimos liguem para o serviço. Um serviço que permita autenticação anónima está a flexibilizar significativamente os requisitos de segurança, pelo que esta configuração deve ser usada com cautela.

Note-se que esta propriedade não se aplica a cenários de segurança de transporte e aplica-se apenas quando a segurança das mensagens é usada pela ligação subjacente para proteger as mensagens. Se for usada a segurança de transporte do Windows, esta propriedade não se aplica.

Aplica-se a